Tokinsom's Recent Forum Activity

  • I've been dreading the day I'd have to learn the S plugin Oh well, better now than never.

  • > Anyway, the horizontal scroll bar is there, but it doesn't show up until an item on the list is longer than the width of the box. Also, the vertical bar doesn't show up until there are so many items in the box that they no longer fit.

    >

    I've got items longer than the width of the box but it doesn't show up.

    Oh, wow. My bad! The vertical bar shows up when there are too many items to fit, so I assumed the same happened with the horizontal bar. I guess it hasn't been implemented then.

  • Interesting concept. Sounds really confusing though!

    Actually I've already figured out tiles/collision tiles/triggers, and the like. I've got it set up so you can change their angles and size and everything. That was pretty easy. The problem I'm having here is with sprite objects and their private variables. I don't think your method would work for what I'm trying to do. One example is an enemy spawner; I need to be able to type the name of the enemy the spawner will create, or atleast choose it from a list. The data would have to be stored in a private variable. Another example is destructible tiles/objects. I need to tell that tile/object which particles to create when it's destroyed, what item(s) to drop, how many hits it takes to destroy, what sound to play when hit, etc.

    I REALLY don't feel like basing that stuff on things like the object's angle or animation frame or something, although it is possible.

  • Ok so this is something I've been trying to break down to a science for a while now, but I'm having some trouble.

    How would you guys go about managing objects in a custom level editor?

    I've come up with a couple ways of doing this, but man, it gets complicated and sloppy really fast.

    My ideal..system..of object management in a custom level editor would be very similar to how it's done in Construct's built-in layout editor.

    There would be a listbox with small icons and names which represent each object. When you click on one of these icons, another list to the right would show the selected object's PVs. You would then be able to adjust these values, set the object's properties (angle and such, which I've already figured out) and place it on the map.

    Sounds incredibly simple, no? Well it's not.

    I'll explain how I did this in my past level editors, and see what you guys think. Keep in mind none of these methods were very good, but if you have any suggestions on how to improve them or know some completely different and better way of doing this, I'd love to hear!

    1.

    -Objects were placed on a "table" in the layout editor, on a separate layer you can hide or reveal.

    -Each object was in the family "E_Objects", and had only 2 PVs: Name, and Value. I made the value "Name" because you can't retrieve an object's name yet, so this value was set to it.

    -There's a separate object called "ObjectValues" which stores an object's data when selected. It goes something like this: (I will refer to "ObjectValues" object as OV)

    -"E_Object" is selected from the table: Set "OV" value 'Name' to "E_Object's" value 'Name'

    -Now you can use a single edit box on the left to type in something for the Object's value called 'Value'

    -Now you can place the object like so..

    Left clicked on grid: Create object by name OV.value('Name')

    Set E_Object's value 'Value' to editbox.text

    So. That method is actually pretty simple, but since you can't retrieve an object's PV's, I could only find a way to edit ONE value before the object was placed. Also, the editbox caused a lot of problems. Once you click it, all of my hotkeys would be entered into the editbox, and using it's action 'unfocus' would lock up all keyboard/mouse input and pretty much ruin everything.

    2.

    Trying to explain this would make little sense, which probably means it was a terrible method to begin with. But on a glossy surface level, it worked like this:

    There's a list box which, when created, would list all of the object's names. You can click on a name, and a list object to the right brings up it's PVs which were added via the event editor. You can click on one of the PVs names, and type in it's value via an edit box. Upon pressing enter, the PV name would have the editbox text appended to it, delimited by a comma. I then used the text manipulator object to turn these into substrings, which can then be individually retrieved to set the object's values when placed.

    Actually that sounds pretty good. Problem is I haven't gotten it to work yet. I might in the future, but I'm already having some problems with it and I'm not so confident it'll work out in the end.

    To top it off I'm using an array to save the level data. Each cell has multiple values (object properties) which are essentially substrings retrieved by the text manipulator object. It just makes things so much more complicated.

    Anyhow. If anyone has gotten something like this to work, or has any ideas, please let me know!

    Thanks.

  • I made a topic on this a little while ago:

    R0jo uploaded a very nice example near the end. Maybe it can help!

  • The list BOX object doesn't have multi-line, but the list object does

    Anyway, the horizontal scroll bar is there, but it doesn't show up until an item on the list is longer than the width of the box. Also, the vertical bar doesn't show up until there are so many items in the box that they no longer fit.

  • Text objects change size in the layout editor when you zoom in or out. Maybe that's what's happening here? It's been fixed in C2, btw.

  • I'm using the following expression to get a 16x16 cursor to follow my mouse in a snap-to fashion...

    cursor.x= int(mousex/16)*16

    cursor.y= int(mousey/16)*16

    It works fine and all, but the cursor tends to 'drag' behind a good bit when quickly moving the mouse. Is there any way to fix that?

  • Probably. I always do this to 'turn off' effects as a lot of them glitch up get pasted into the bg or something, which gets really annoying.

    And yeah, that's Psy-Crow. He IS from earthworm jim

  • All you need to do is close every layout, then re-open them. All effects will then be 'turned off' in the layout editor.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Just use *

    e.g.

    object.value('my_val') * 1.5[/code:190wisyh]
    
    You can set the value or add to the value however you want.
  • Input system plugin, yo. It's magical.

Tokinsom's avatar

Tokinsom

Member since 6 Jun, 2010

Twitter
Tokinsom has 11 followers

Connect with Tokinsom

Trophy Case

  • 14-Year Club
  • Entrepreneur Sold something in the asset store
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • RTFM Read the fabulous manual
  • Email Verified

Progress

20/44
How to earn trophies