dop2000's Forum Posts

  • > Try replacing all those events with this one:

    > On every tick-> Set player X to 105

    >

    > See if it helps.

    >

    Doesn't seem to be doing anything, eventually the player just from running goes of the left side of the screen.

    This is really odd. I tried that in the Auto-runner example and it works for me, even when the level is accelerating very fast.

    Are you sure this event is executed? (not in a disabled group or something like that)

    Run the game in debug mode, see if player.X stays at 105 or decreases.

    Also, is it possible that your layout is scrolling? See if ScrollX remains the same.

  • Simply check if audio with this tag is playing. If not - start playback. If already playing - do nothing.

    And yes, it's generally a good idea to have different event sheets for different things. I have a separate event sheet, where I keep all my audio functions like "PlayMusic", "PauseMusic", "PlaySound", "SetVolume" etc.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Try replacing all those events with this one:

    On every tick-> Set player X to 105

    See if it helps.

  • I'm guessing when in the air, your character's horizontal speed is slower than the levelSpeed. You need to compensate this somehow. Maybe simply by setting character X coordinate to a fixed value on every tick.

  • Do you need to be able to determine if the egg will break before it actually reaches the floor?

    If not, why can't you compare egg's velocity at the moment of collision?

    Edit: Looks like physics velocity changes on collision. Still, you can save egg's velocity in a variable on every tick. When collision happens, use velocity value from the previous tick.

  • You can do it with array and loops, but I think it would be much easier to use "Is overlapping" event.

    Make item's collision polygon a bit smaller than the slot, or several slots for big items. Create an instance variable isOccupied on slot sprite.

    When player is dragging and dropping the item to the inventory, test if it's overlapping an empty inventory slot, and not overlapping occupied slots or the border around the inventory area.

    When the inventory layer is hidden and player picks up an item off the ground, you can pick all empty slots, do "For each slot", set item position to each slot, test if it's overlapping occupied slots/border. Repeat the loop until you find a suitable slot(s).

  • What exactly is your problem? You need to be more specific.

    Install Chipmonk behavior, check phone orientation, adjust gravity vector.

  • Since this post is about audio effects, is there any way to do Pitch?

    I want to add a bit of variation to repeating sounds in my game.

    I know I can create and upload different versions of the same sound, but I hope there is an easier solution.

    The closest effect I could find that does something similar is "Ring modulator", but it doesn't work well with some sounds.

    Changing playback rate is also not a good option.

  • For platform movements like running/jumping you need to replace "Keyboard On <key> pressed" events with "Keyboard Key Is down".

    "On" events are triggered only once. "Is" events are triggered multiple times while the key is down.

    (Same goes for Mouse and Touch events)

    Use "On" events for actions where you don't need repetitions - for example to open a chest, press a button etc.

    For the same reason you should not have actions like "Set animation (play from beginning)" in "Is" events, because animation will be stuck on frame 0 while the key is pressed. (see event 11 on your screenshot)

    You can use "On" event to start animation, then "Is" event to simulate platform movement.

  • Did a little googling

    Time to decelerate to zero:

    time=(speed/deceleration)

    For example if current speed is 900 and deceleration 300px/s, then you need 3 seconds to stop the ship.

    Formula to calculate the distance:

    Distance=deceleration*(time^2)/2

    So to stop at target you need to start deceleration at distance 300*9/2=1350px

  • Did you set the value 0/1 with events? You were doing something wrong, because a code like this should definitely work:

     
    .... Spawn Enemy
         Enemy Set enemyType=1
         Enemy Set animation to "Snail"
    [/code:dhk0rxs7]
  • See this post:

  • Are you assigning any value to that instance variable after you spawn a new instance of the sprite?

    You need to specifically assign the proper value, unless you want it to be default. I'm guessing your default value is 'slime'.

    Same applies to the animation.

  • TileMap object has a number of expressions to convert tile coordinates to screen coordinates and vice-versa.

    PositionToTileX(x)

    PositionToTileY(y)

    SnapX(x)

    SnapY(y)

    TileToPositionX(x)

    TileToPositionY(y)

    Use TileAt(x,y) to get tile ID.

    As for your second question, it depends on your game. If this is just for storing customizable properties for individual tiles, I would probably use an array or dictionary. If you need to add animations, behaviors etc. to your tiles, you will need to replace them with sprites. (or put sprites on top of them)

    I have an event set up so when I click the tilemap in an editor window (separate layer, paralax 0,0), but it selects tile id -1 instead of the tile I clicked on. I'm assuming it's not translating the mouse coordinates to the editor tilemap because of the parallax (the tilemap technically isn't moving)..

    Not sure I understand.. You may need to add scrollx, scrolly to your mouse coordinates. And probably subtract WindowWidth/2, WindowHeight/2. It's hard to tell without seeing your capx.