mOOnpunk's Recent Forum Activity

  • 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.

  • 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
    
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • setting the window size, colour and adding a boarder.

    + 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
    
  • I wasn't happy with any of the ui options available in c3, so i started making my own dynamic system with events.

    It worked ok but was cumbersome and had its limits, so i thought why not just try and turn it into an actual plugin.

    The menu system will be created entirely of polygons drawn directly to the layer, with the ability to change the colour and an option to skin them with textures.

    Each plugin represents a self contained window that you configure with events ACES, to craft its appearance and control its functionality.

    UI elements can then be added, and windows can interact and call each other. Thats the plan.

  • Tom

    Why is my plugin not showing up on the plugins page when you search?

  • back up.

  • Down again.

    c'mon now guys.

  • Thought i would share my database object.

    construct.net/en/make-games/addons/1513/data-container

    I always seem to end up using invisible sprite objects to store and organise data because it's so easy to manage using Construct's picking system, but it has its issues.

    So i decided to create my own database object that emulates Construct's picking behaviour, but with more options.

    quick example

    DataContainer → Add file "Sword"

    DataContainer → Set file's "damage" to 10 for file "Sword"

    DataContainer → Set file's "rarity" to "common" for file "Sword"

    DataContainer → Pick highest "damage" → Sub-event: Text Set text to CurFileName & ": " & CurProperty("damage")

    ACEs Overview

    All ACEs are under the Container category. Here's the full list:

    Conditions (Picking, Looping, Checks, Triggers)

    File exists {0}: True if the file exists.

    Pick file {0}: Picks a specific file by name (sets as current).

    Pick file with highest {0}: Picks the file with the max value for a property.

    Pick file with lowest {0}: Picks the file with the min value for a property.

    Pick random file: Picks a random file.

    Pick weighted random file with highest {0}: Random pick weighted by property (higher = more likely; negatives/0 = equal chance).

    Pick weighted random file with lowest {0}: Random pick weighted inversely (lower/negatives = more likely).

    Pick last created file: Picks the most recently added file.

    Pick all files: Resets to select all files.

    Pick files where {0} {1} {2}: Picks files matching a property comparison (=, >, <, >=, <=, !=).

    For each file: Loops over all (or picked) files.

    For each file ordered randomly: Loops in random order.

    For each file ordered descending {0}: Loops highest-to-lowest by property.

    For each file ordered ascending {0}: Loops lowest-to-highest by property.

    For each file alphabetically ascending: Loops A-Z by filename.

    For each file alphabetically descending: Loops Z-A by filename.

    For each file weighted random highest {0}: Loops in weighted random order (higher prop first).

    For each file weighted random lowest {0}: Loops in weighted random order (lower prop first).

    On file added {0}: Triggers when a file is added.

    On file deleted {0}: Triggers when a file is deleted.

    On property changed {0} {1}: Triggers on single-file changes (or "all files" if file is empty).

    On any change: Triggers on any data modification.

    Actions (Data Manipulation)

    Add file {0}: Adds a new empty file.

    Add property {0}: Adds a property (with null value) to all files.

    Set file's {1} to {2} for file {0}: Sets a property in a specific file (creates if missing).

    Set all files' {0} to {1}: Sets a property across all files (creates if missing; triggers "all" change event).

    Delete file {0}: Removes a file.

    Delete property {0}: Removes a property from all files.

    Clear all: Wipes all files and properties.

    Load from JSON {0}: Replaces data with parsed JSON string.

    Download to JSON file {0}: Downloads current data as a .json file.

    Expressions (Data Access)

    CountFiles: Number of files.

    CurFileName: Name of the current file (in loops/picks).

    CurProperty({0}): Value of a property on the current file ("" if missing).

    FileProperty({0}, {1}): Value of a property on a specific file ("" if missing).

    AsJSON: Entire container as a JSON string.

    Tagged:

  • construct opens for me but wont let me create a new project.

  • I do a lot of simulation stuff.

    I made myself a fuzzy logic plugin but found it was too hard to calibrate, so i took it a step further and turned it into an adaptive neuro-fuzzy inference system.

    It's fuzzy logic but the difference is you set a number of steps, it then runs the fuzzy data set, then it takes the results and feeds them back into the fuzzy sets on the next step to auto tune or calibrate itself.

    It worked but the plugin was never finished to a releasable state.

    EDIT> just reread the original post, this probably is not relevant to what you need.

mOOnpunk's avatar

mOOnpunk

Early Adopter

Member since 29 Mar, 2017

Twitter
mOOnpunk has 8 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