boolean's Forum Posts

  • Now as far as code goes:

    - I put everything under functions. This way I always know and control when a part of code is executed and I avoid most problematic ordering issues.

    Just as an extra little tip on top of this: Namespace your functions. I've been working on a little side-project and decided to do the entire thing in functions. I found using the following setup works really well:

    <img src="https://dl.dropbox.com/u/20830426/goodFunctions.png" border="0" />

    It comes in real handy when you end up with functions doing something really ambiguous like "Setup animations" or "Set death state" and you run into naming conflicts or just scope confusion like "What was this setting a death state on? The enemy? The player?"

  • C2 is the best 2D game development IDE, hands down. But, at the end of the day HTML5 is HTML5 - bugs appear in some browsers that do not appear in others, browser audio is terrible (causing many posters to complain to Ashley about C2 audio support not realizing it's the browsers themselves), graphics drivers seem to cause all sorts of weird issues with WebGL, HTML5 works brilliantly on deskptop but grinds mobiles phones to dust if you want anything involving physics or complex effects (vs native apps). The canvas tag still has weird limitations like no z-indexing...

    HTML5 is painful, but it's going to get better I'm 100% sure. With all the browsers fighting over standards it's a bit of a wild west right now. I myself keep flip-flopping from throwing my hands in the air and screaming "I'm done with HTML5!", then realizing what a pain getting 2D to work in something like Unity is and then a few days later coming back to C2.

  • WOW <img src="smileys/smiley32.gif" border="0" align="middle" />

    I'm loving this. There's so many little touches in the game that harken back to the days of early platforming. The splash screen looks fantastic!

    Side note: Was there a reason you decided not to use html5 web storage for the save games?

  • I fussed about with this for a long time.

    What I ended up doing was creating a second sprite called "HitMask" that was the same height and width of the object I want to check. I then pin it to the object (eg. HitMask is pinned to SpriteA) and set HitMask to invisible. Now any subsequent overlap/collision conditions I need to call like "SpriteA overlapping SpriteA" are now called using "SpriteA overlapping HitMask".

    You will probably need to save the UID of SpriteA to an instance variable in HitMask so that you can reselect it before your overlap condition (otherwise it will just use the first instance of the HitMask sprite).

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I haven't tried it myself, but maybe this plugin from rex_rainbow will do the trick: Nickname plugin

  • Closing as not a bug: by design, neither containers nor the Pin behavior affect Z order.

    Why is the Z-index considered separate? Is it a technological limitation?

  • Link to .capx file (required!):

    Sample Capx

    Steps to reproduce:

    1. Run the capx

    Observed result:

    Both orange squares stay at the bottom of the layer when their parent sprites are set to "Move to Top" of the layer. The first orange sprite is using the pinned behaviour, the second is using containers.

    Expected result:

    The Pin behaviour I'm not sure if it's supposed to move to the top of the layer with the pinned object, but I'm pretty sure the container object should.

    Browsers affected:

    Chrome: yes

    Firefox: yes

    Operating system & service pack:

    Windows 7

    Construct 2 version:

    R117

  • I don't know if it's the best way, but I use the action "Set Velocity" under the condition "Every Tick". I then do:

    VX: clamp(player.Physics.VelocityX, -500, 500)

    VX: clamp(player.Physics.VelocityY, -700, 700)

  • Oh brilliant, I'll give that a shot. Thanks Ashley.

  • This might be a really stupid question, but I can't find any record of it being asked before.

    I applied a webGL shader to my layer, but now I can't see anything properly in the editor! <img src="smileys/smiley36.gif" border="0" align="middle" />

    Is there a way to ignore shaders in the editor? I'm applying a bulge effect to my main layer and the effect means that now when selecting a sprite I actually have to click about 20 pixels away from where it actually is. It's a little confusing.

  • No worries mate <img src="smileys/smiley1.gif" border="0" align="middle" />

  • Catalog is the outermost node:

    <img src="https://dl.dropbox.com/u/20830426/xmlCatalog.png" border="0" />

    "/Track" still returns the error, but make sure you are using /Catalog/Album/Track, not "/Track". If you go straight to "/Track" the XML silently fails (because no such node exist at that path), so it's not actually accessing the loopindex to cause the bug.

    Try changing "/Catalog" to "/Catalog/Album/Track" and you should see the error again.

  • The code should be fine. "/Catalog" is the top most "<Catalog>" node. If you mean because it uses a forward slash, that's from XPATH - it needs the "/" symbol for the first node.

  • Link to .capx file (required!):

    Sample Capx

    Steps to reproduce:

    1. Run the sample Capx. An index error in system.js is returned.

    2. Disable the sprite foreach loop, no errors are returned.

    3. Or invert the disabled actions in condition two (so the text is not using loopindex). This also allows the code to run.

    Observed result:

    Using loopindex in XML and then again somewhere else on Construct in the same tick causes an index error in system.js.

    Expected result:

    The loopindex from the XML should not be interfering with the loopindex in the sprite foreach.

    Browsers affected:

    Chrome: yes

    Firefox: yes

    Operating system & service pack:

    Windows 7.

    Construct 2 version:

    R116.

  • Link to .capx file:

    Sample Capx

    Steps to reproduce:

    1. Delete Sprite1.

    2. Try and add ContainerText as a container object to Sprite2.

    Observed result:

    Construct no longer has access to ContainerText.

    Expected result:

    When deleting Sprite1 it should release ContainerText back from the Sprite1 so that other objects can add it.

    Construct 2 version:

    R116