mekonbekon's Forum Posts

  • On it, should have something for you shortly :-)

  • You're welcome :-)

    If you have a value of zero for any of the array's dimensions then the array doesn't have any cells for you to store data e.g. 5x5x0 = 0

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You want a depth of 1 on your array. If you check in debug mode you can look at the array object to confirm your values are being stored.

  • Hi,

    The reason D isn't showing is because you've got all those other D keys on screen - all of those are triggering as not being touched so D remains invisible.

    The slow response is due to using the "is touching" and "is not touching" conditions; these will be constantly adding or subtracting from your global variables every tick. Instead you want to use "on touch" and "on touch ended" so that they only trigger once when an inputs starts or ends.

    I've attached two alternative ways of arranging the events to solve this:

    revised keeps your existing objects but sets the triggers so they only fire when touch starts and ends. I've also removed the unnecessary global variables.

    revised2 uses more advanced concepts but simplifies the events even further; there is only a single letter text object, which is placed in a container with the key sprite object, and a single shortcutDescription text object (placing the key-text and key-sprite in container together means that when either instance is picked its container buddy is also picked).

    The key sprite object has two string variables - one for the letter text, the other for the shortcut.

    At the start of the layout the key text is set.

    When you press a key it sets the shortcutDescription text to key.shortcutText.

    dropbox.com/s/lm1it6mn37l30gy/touching%20object%20display%20message%20revised.c3p

    dropbox.com/s/ifcr3s20vj8xaup/touching%20object%20display%20message%20revised2.c3p

  • I'd guess it's because the System expression "pick by evaluating" doesn't actually pick a Tilemap, only the personaje, so it's still using the left tilemap to calculate the evaluation.

    You could add an "personaje is overlapping Tilemap" condition to the event and it should select the correct tilemap.

  • The following changes should do the trick:

    1. Change "sprEnemyTechnology.Bullet.DistanceTravelled=200" to just "200".

    2. Change the Bullet distance travelled condition from "=" to ">"; it's unlikely that the bullet distance travelled will ever exactly be 200 so if you only check for "=" it probably won't get triggered.

    Also, unless you intend the bullet to stop only if the player points are greater than 30 and it has already travelled 200, move out the "sprEnemyTechnology: Bullet distance travelled" sub-event from under the "Trigger once" event to the same level - that will ensure it stops as soon as it reaches 200.

  • Yep, definitely using the same software, just a different theme :-)

    You can add a new event and then drag it to the right to make it a sub-event but if you're finding that a bit fiddly, try this:

    1. Delete the repeat in your example.

    2. Select the for loop.

    3. Press B to add a blank sub-event.

    4. Double-click the sub-event and add a repeat.

    Hope that helps! :-)

  • If you want to keep it in one text object you can do it as follows:

  • If this is going to be an Android mobile game you would need to add the Touch plugin:

    1. Click anywhere on any layout to add an object, scroll down to the Input section and select "Touch".

    2. In the event sheet associated with the layout containing the hidden objects, click "Add Event" and add a Touch condition.

    3. Choose "On Tap Object" and select the hidden object to set the touch condition.

    When testing this on a computer make sure you have "Use mouse input" ticked in the Touch object's properties - it will then treat the mouse input as a touch input.

  • Do you have "Set angle" enabled on the bullet behaviour and rotate behaviour (or similar) added to the meteor? If so the rotate behaviour will cause the meteor's direction of travel to curve.

  • You're welcome :-)

  • This was the best I could do based on your example:

    dropbox.com/s/csatv06aywqhvfg/climbTilemap.capx

    The meat of it is in event 5. I have a variable on the player that records the tilemap UID when you start climbing; if the condition checks that the player is overlapping more than one tilemap it picks the nearest and checks to see if its UID matches the saved tilemap UID on the player variable. If it doesn't then the saved UID and movement modifiers are updated.

    Hope that helps! :-)

  • Ashley Of course! I'm an idiot. Thank you :-)

  • Bl4ckSh33p I might be wrong about this, but I think it's because when you click the button the animation change only affects the animations on instances of the Sprite object that currently exist - as new particles are generated the initial animation settings are used.

    To permanently change the animation you would have to do it in an "On created" condition for the spawned Sprite object.

    UPDATE: Yep, just modified your example - if you add a global variable string "id", on pressing a button set "id" to the button ID, and then Sprite|On created set animation to "id", it works as intended.

  • In a particle object's properties you can now set it to spawn an object instead of using its default particle image (very cool!). However, once you've set it to an object in the editor there isn't an explicit way to clear the field and reset to the particle image.

    A particle action exists to unset the object back to the particle object so you can ensure it is reset at runtime, but ideally you would be able to clear the property field in the editor.

    You can set the object to the same particle object, but it is not obvious if this means you are then spawning child particle objects or reverting to using the particle image, the former having processing overheads. Does anyone know which case is correct? If the former, is there a way to reset the field that I'm missing?