I'm curious to know about an efficient way to make a walljump. So far, when the player detectors (placed on the right and left side of the player) are in contact with a wall, and the floor detection is not in contact with anything (ie. the player is in the air), the player can press jump and it'll move him a couple of pixels away from the wall, and up depending on how long the player holds down the jump button.
This works quite well, as the player can control the player direction mid-air, but this also made a couple of problems. The first problem, was that the player could continually press jump while holding the direction button in the same direction as the wall was, enabling him to just basically slide up the wall without having to "launch" himself away from the wall. The ideal movement I'm looking for is one resembling "Super Meat Boy", where you will be forcibly launched away from the wall, but to a lesser extent if you hold the directional button down towards the wall you sat on.
Some extra information: I use a custom made platforming engine, using gravity, horizontal movement modifiers and jumpcounts, so built-in platformer object tips wouldn't really work for me - I'm also not really a fan of the path-movement object, as I've had some dodgy experiences with it.
I was considering disabling some keys for a small time-frame when the player performed a wall-jump, but I'm sure that is not a great solution to the problem.
That's basically my first question, I'll get to my second problem once I solve this.
Thank you in advance, I know this community is very helpful and I believe this is quite solvable, but after many hours I've just come to a halt. Let me know if you need to see code.