dop2000's Forum Posts

  • You are on the right track.

    Create a family with all 3 sprites. When any family member is created, save its UID.

    Then when "undo" pressed you can destroy this family member.

    The only problem is that it only gives you one undo step, but I'm sure you can modify this code if you need more steps.

  • Instead of the "Every X seconds" event, use Timer behavior.

    You probably don't need "For each .." condition in the "On timer" event, but I prefer to add it for clarity.

  • Is it lagging on PC or on mobile? Are you using any WebGL effects?

  • You don't need to pin sprites. Just change their position to (self.X+something, self.Y+something)

    They should maintain the pattern.

  • Say, you want the whole group of sprites to move 500 pixels down, do this:

    Sprite -> Set position -> (Self.x, Self.y+500)

  • Happy to help!

  • I think with image point set to -16, the hitbox collides with the floor after you teleport it, and is bounced a fraction of a pixel up, that's why its state briefly changes to falling.

    If you run your game in debug mode, you'll see that there is always a tiny gap between the hitbox and the floor. Hitbox Y position is something like 63.96 after climbing on the wall, not 64.

    Try changing the "hitbox->Set position to wall" to this:

    hitbox -> Set position to -> (wall.ImagepointX(1) , wall.ImagepointY(1)+0.6)

    As a result, after you teleport it, there will be 0.4 pixels between the hitbox and the floor, so no collision. And these 0.4px will be rounded to 0, so no gap will be seen.

    Not sure if this is the best solution, but it works.

    Alternatively, you can add some extra checks to your "Platform is falling" event, to not change animation if the player has just climbed the wall and is not actually falling.

  • Not to "time_font", to time_font without the quotation marks!

  • Have you tried "Browser-Request fullscreen" after the textbox is updated?

    I personally wouldn't be using the native textbox object on mobile, it doesn't look good and not suited for a small screen.

  • So you set your spritefont text to "300" on start of your layout, but where is the event that updates it every second?

    You update your variable, but not the spritefont object.

    You need to add "Time_Fonts Set text to time_font" into the "Every 1 second" event.

  • Are you sure the problem is with the spritefont and not somewhere else in your code?

    Does it work if you use a text object instead of the spritefont?

    Is your Time_Countdown group always enabled?

    Start your game in Debug mode (ctrl-F4) and check time_font variable - if it's decreasing every second.

  • Add 'Text2' and 'bad' to the same container.

    These two objects will be created together, destroyed together and logically linked to each other.

    When you create bad, text2 will appear automatically. You destroy bad and text2 will be destroyed too.

    So remove steps where you create/destroy text2, you only need to pin it.

    Also, when you have to repeat the same code twice, this means you need to move it into a function.

    Create a function "SpawnBad" and call it when you need to spawn a new enemy.

  • It's the same problem as last time - you are calling function "SetupGlobalVariables" from the Functions group which is still disabled.

  • This should get you started

    https://www.dropbox.com/s/3bwlpvlmjw2is ... .capx?dl=0

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I think you should consider changing the mechanics - to just one character sprite..

    This should make your code much easier and may save you a lot of time in the future.

    By the way, since the only difference in appearance between 3 characters is their color, you won't even need 3 different animations. You can just apply a color-changing effect or blend mode.