mOOnpunk's Recent Forum Activity

  • Thought i would add drag scrolling while i was already working on scroll bars.

    -> EasyMenu: Set drag scroll True, inertia 0.90, overscroll True

    You can enable and disable it, adjust the inertia, and enable overscroll so rather than a hard stop at the pages edge it bounces back like on most mobile OS.

  • Thanks for the video. That's super helpful.

    I wasn't aware of the terms but my original event based gui was an immediate mode design, it was great for certain things, such as when elements arranged directly beneath each other, but made more complex layout design difficult, which i think you can only get from retained mode gui's.

    Anyway this system will be easily adjustable on the fly.

    I've been looking at google androids ui system material.

    m2.material.io/components

    Adding palettes is another good idea.

  • I just wasted a few days trying to track down a non existent bug.

    I couldn't work out why the scroll bar calculations were incorrect for the page size. Then i finally remembered i made it so that if you add a sprite to a page, then the page resizes to fit the sprite if the page is too small. This is so pages can grow at runtime if the page content is updated.

    There is now another option to set this per sprite, so you can decide which sprites effect page size.

    I also added the option to have scrollbar thumbs dynamically resize with a tween motion, and the option to hide scrollbars when the page is smaller than the window area.

  • Scrollbars now have fully customisable spacing.

    Pages can have their own page colour, and i've added page transitions, which currently support sliding and fading with full tween support. More transition types will be added later.

    Excuse the colours for testing. I'm badly colour blind.

  • Mostly doing stuff on the back end ready for more advanced features.

    Managed to add styles to scroll bars.

    They now clip rounded windows, and you can set colours thickness and roundness.

  • Thanks!

    I switched to a Sutherland–Hodgman algorithm for clipping, so now windows and elements can all be rounded.

    Still need to update the scroll bar code.

  • Looks like the 3d objects are being clipped.

    With the layout selected, look under advanced in the properties panel and try changing the near distance and far distance.

    back up you work before making changes.

  • Experimenting with rounding window corners, but this messes up clipping.

    Not sure if it will be possible.

    Will have to think some more.

  • Windows now support unlimited pages. Pages now have names to identify them, they can have different properties like size, and elements like sprites can be added to different pages.

    Set current page action is used to select the visible page, while other pages are hidden.

    Also sprites added to a page now reflect some of the referenced sprites properties like opacity and size. Changing the sprite updates it on the page.

    + System: On start of layout
    -> EasyMenu: Set width to 300
    -> EasyMenu: Set height to 200
    -> EasyMenu: Set background color to "165,20,25"
    -> EasyMenu: Enable border True
    -> EasyMenu: Set border color to "20,255,135,1"
    -> EasyMenu: Set border width to 20
    -> EasyMenu: Enable drop shadow True
    -> EasyMenu: Set drop shadow color to "0,0,0,0.5"
    -> EasyMenu: Set drop shadow offset X to 15
    -> EasyMenu: Set drop shadow offset Y to 25
    -> EasyMenu: Add page "default"
    -> EasyMenu: Set current page to "default"
    -> EasyMenu: Set page "default" height to 500
    -> EasyMenu: Set page "default" width to 400
    -> EasyMenu: Set UID Sprite.UID to page "default" position (50, 55)
    -> EasyMenu: Set UID Sprite2.UID to page "default" position (130, 250)
    -> Sprite2: Tween "" property Height to 20 in 1 seconds (In Out Sinusoidal, destroy: No, loop: Yes, ping pong: Yes, repeat count: 1)
    -> Sprite2: Tween "" property Width to 20 in 1 seconds (In Out Sinusoidal, destroy: No, loop: Yes, ping pong: Yes, repeat count: 1)
    -> Sprite2: Tween "" property Opacity to 10 in 0.5 seconds (In Out Quadratic, destroy: No, loop: Yes, ping pong: Yes, repeat count: 1)
    -> EasyMenu: Add page "page1"
    -> EasyMenu: Set page "page1" height to 650
    -> EasyMenu: Set page "page1" width to 250
    -> EasyMenu: Set UID Sprite3.UID to page "page1" position (60, 120)
    
    + Keyboard: On 1 pressed
    -> EasyMenu: Set current page to "page1"
    -> EasyMenu: Set background color to "85,155,255"
    
    + Keyboard: On 2 pressed
    -> EasyMenu: Set current page to "default"
    -> EasyMenu: Set background color to "165,20,25"
    
  • Windows now have "pages". Eventually windows will allow multiple pages so we can have tabs.

    Pages are the content area of the window. If a page is bigger than a window then scroll bars will appear, it you have scroll bars enabled.

    I've also added the ability to add sprite to the page.

    SDK v2 does not allow any type of clipping it seems, so i had to find my own way. I tried blend modes but that had issues, so i now copy the referenced sprite to a quad as a texture, then modify its position and dimensions to create clipping when a sprite is partially outside the window area.

    + System: On start of layout
    -> EasyMenu: Set width to 300
    -> EasyMenu: Set height to 200
    -> EasyMenu: Set background color to "165,20,25"
    -> EasyMenu: Enable border True
    -> EasyMenu: Set border color to "20,255,135,1"
    -> EasyMenu: Set border width to 20
    -> EasyMenu: Enable drop shadow True
    -> EasyMenu: Set drop shadow color to "25,123,80,0.5"
    -> EasyMenu: Set drop shadow offset X to 15
    -> EasyMenu: Set drop shadow offset Y to 25
    -> EasyMenu: Set page height to 500
    -> EasyMenu: Set page width to 300
    -> EasyMenu: Set horizontal scrollbar enabled True
    -> EasyMenu: Set vertical scrollbar enabled True
    -> EasyMenu: Set UID Sprite.UID to page position (52, 152)
    -> EasyMenu: Set UID Sprite2.UID to page position (20, 250)
    
  • I'm aiming for more window heavy games, simulation, management types rather than say mobile platformer / flappy bird games.

    I'm looking to make it so you can create the menu entirely with events.

    I'll focus on getting the core stuff working and then add more interesting features.

    I'm just seeing where it goes, so its very experimental, and it helps me learn plugin development.

    Right now i've chosen to work towards a windows 95 ui as reference, but it should be quite customisable when its done.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Window with drop shadow applied. It can set colour, and alpha opacity. The size matches the widow and the shadow can be offset as you like.

    + System: On start of layout
    -> EasyMenu: Set width to 300
    -> EasyMenu: Set height to 200
    -> EasyMenu: Set background color to "165,20,25"
    -> EasyMenu: Enable border True
    -> EasyMenu: Set border color to "20,255,135,1"
    -> EasyMenu: Set border width to 20
    -> EasyMenu: Enable drop shadow True
    -> EasyMenu: Set drop shadow color to "25,123,80,0.5"
    -> EasyMenu: Set drop shadow offset X to 15
    -> EasyMenu: Set drop shadow offset Y to 25
    
mOOnpunk's avatar

mOOnpunk

Early Adopter

Member since 29 Mar, 2017

Twitter
mOOnpunk has 5 followers

Trophy Case

  • 9-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • RTFM Read the fabulous manual
  • Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

18/44
How to earn trophies