I just deployed a new update with lots of small tweaks and fixes, and a couple of new features:New Stuff:
- Messages have new setting: send to self
- Editor now allows self-linking to ports that don't pass through (to e.g., make an easy one-time switch)
- Add new Repeater behavior block, which allows you to run the same task multiple times in one frame
- Added >= and <= as filter options</li>
- Collisions now have a "repeat delay" setting to limit how quickly they can fire (this was long overdue)
- Sprite transforms (e.g. flip/rotate) reset properly in the editor now
- Attaching to flipped objects has been fixed
- Attaching to non-physics objects has been fixed
- Attaching large sprites now aligns correctly on center
- Attachments now go into render layer set in attached object (went into attaching object's layer before)
- Don't show "press escape to open editor" prompt when game is embedded
- a few small performance optimizations
- Extractor performance optimized
- Extractor y velocity was incorrect
- Extractor position now works on any object, not just movable
- Display key properly on Save behavior block
- Expression now resets properly in editor
- Collisions now trigger properly when targeted to parent's type
There were two main problems with the Spawn behavior:
A bug - which is that the spawn origin was at the top left instead of the center, which meant that extracting an object's position and then spawning a new object there would not align properly. To fix this, objects now spawn using a center origin.
A design flaw - which is that the "spawn" input was at the top. This means that since the links are evaluated from top to bottom, it was difficult to handle the most obvious task, which is is to set x, then set y, then spawn. To fix this, I rearranged the input.
In order to address these issues, I've done something unusual - I created a new Spawn behavior instead of fixing the old ones. This is because the input order has changed, and moving those around would mess up existing game logic. To get the new Spawn behavior, just add a new Spawn block and delete your old one.