Thanks for your help. I’m finding that the character seems to move up a few pixels but immediately move back down in a jittery effect, so it just jitters on the spot. Is it to do with the collision?
Doesn’t seem to help - it transforms him right up into the air immediately and then drops him down as per gravity. Like it’s not a smooth jump upwards. Thanks anyway.
Does Platformer behaviour allow you to change jump power in gameplay? If yes then you can try below, if you’re willing to use “Simulate Jump Pressed” (otherwise, what are you making that it can’t be used?)
You could try using a variable to hold the ‘original jump power’ and a second jump power variable that decreases during each bounce.
Each bounce you decrease the second variable by some amount and when the player lands on normal ground assign the original jump power back to the player again.
Otherwise, if we’re avoiding “simulate jump pressed”…
Silver’s suggestion might’ve had problems is because the “gravity” is still in place when the character bounces. Does it count as the player landing on a platform when they bounce? If not their downward velocity might be greater than your upper speed.
To add to their suggestion, in the “apply instant force” you can also use a variable that decreases each frame.
Temporarily editing the platform character behavior via a timer and variable as Cat mentioned should work. You’ll want to change jump speed and gravity on collision + unpause the timer, then put the behavior properties back to your ‘default’ setting when the timer is stopped and reset. Use the variable “bounce” as true/false. True + unpause timer, false + pause/reset timer.
Thanks @reina and @Phenomena , I think switching to another jumpheight variable for the player would be cleanest and may not need a timer (as long as it can switch in the split second on collision, and then switch back).
Unfortunately I’m new to this, and I’m unsure how to call that variable through the events editor.
I could use “Modify a variable of an object” but I have to call it through text - is that something like “player.platformcontrol.Jumpheight()”?
It’s possible to change the jump speed through an event made for it.
I’ll just assume you know how to calculate the bounce jump variable… (The button I highlighted in blue is a list of referencing objects by text, so look through it)
I also found this, but it doesn’t let you change the player’s jump speed. Maybe it lets you check the current number instead?
edit: I accidentally chose “Max falling speed” instead of “Jump speed”, and I’m too lazy to test it again
As for setting jump speed back to normal I’d check if the player has landed on a non-bouncy platform (you can put the “normal floor objects” in an Object Group to check for this, if you have many platform types). Setting it to Normal while falling means that when the player stops going up in a jump, they will have normal jump speed before even landing. It might work too!
You can change the jump speed of your platformer and then set it back to normal when they’re not in collision with the bouncy platform or bouncy object. This also works for a sprite that can work like a spring object.