I am having a bit of bother with an unexpected problem.
When my character jumps against the left hand side of a wall, pressing right and jump at the same time leads to a wall climb, which is not planned or part of any event that I have set… Intentionally anyway!
Jumping the same way (Pressing left and jump) on the opposite side will act as expected, with the player simply falling down against it.
I hadn’t noticed it before, but it’s likely been there from the start, but how do I stop this happening?
And more importantly how has it happened to begin with?
I am using the built in ‘PlatformCharcter’ behavior so it should work fine, has anybody else noticed a similar thing happening in their game?
Here is an example of what I mean…
Unexpected Wall Jump??? - YouTube
Why don’t you use a different object to walls?
I mean add other Sprite with the same texture but named wall then check if player is in collision with wall do disable player jump.
Other option is with an object variable or scene variable to check if player is jumping
Like
Condition:
x key press
Trigger Once
And player_jump_var = 0
Action:
Do player_jump_var = 1
So now you can check the player is in collision with wall/floor player can not jump again.
2 Likes
Thank you for the advice, it was a pretty good idea to use variables to check if the player is touching the walls and I might have tried it, if I had needed to, but I have managed to fix it myself!
It seems that I had set the hit-box too large for my player character…
Having reduced the hit-box size I am now unable to climb walls on either side, job done!
There was a reason for this, as I was trying to get the sprites not to overlap, to retain a Spectrum graphics feel, but the end result was a broken jump mechanic, so I guess it’s a price I shall have to pay… Besides I can still use layers to keep the overlapping manageable, even if it looks a little less authentic.
So I guess that answers the riddle, but for anyone else that is having a similar problem, it may be worth checking out your hit-box and making sure that it is within the confines of the player sprite…
It worked for me anyway!
3 Likes