dop2000's Forum Posts

  • 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.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 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

  • 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.

  • That was a joke

    I did some googling and turned out that parsing comma-separated strings with regex is quite a difficult task. So I copy-pasted that pattern from stackoverflow

  • There are quite a lot of issues with your game. I think they all can contribute to the poor control system, and not only with wall jumps.

    Here are just some that I found in about 2 hours...

    1. Your character sprites have non-symmetrical collision polygons - the distance from the Origin point to the left and to the right of your collision polygons is different.

    As a result, when the character is near the wall and you mirror it (pressing A or D), you character either becomes ~30 pixels away from the wall or ~30 pixels inside the wall. I believe this is the biggest problem which ruins your wall jumping. Also when you just walk to the wall and turn around, your character often jumps.

    Changing the collision polygon fixes this.

    2. As you have 3 characters with platform behavior, event though you disable it for two of them, some platform events are still triggered for inactive characters. For example, Wall Jump2 and Wall Jump3 events are triggered even when character 1 is active. This has at least one bad outcome - your JumpCount doesn't work correctly. There maybe a bunch of other issues with other platform events.

    You need to review all events and make sure that when one character is enabled, the other two are completely disabled (not trigger any events).

    I don't know why you've chosen this mechanics. I think it would be better to have just one character object with 3 different animations. It'd be much easier to code and you could've avoided all these issues.

    3. Events in Layers group are triggered every tick. This may not cause any real problems, but I would definitely fix this too.

  • This may not be the most efficient method, but it works

    Note: When using While like this you need to be aware of the danger of creating an infinite loop. If there is even a slight possibility that the correct x and y coordinates will never be found (say the safeRadius is too big), you should implement some way to terminate the loop. For example a counter - exit the loop if the counter reaches 100.