Added moving platform support to the player body #150
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This implements feature request #149 by adding moving-platform support to the player body.
The approach is as follows:
There is one "hack" caused by the fact that the KinematicBody move_and_slide is an "instantaneous" function in that when it performs the move-and-slide, the universe is frozen. As such if the ground is moving down and the player is standing on it moving down at the same speed, the move-and-slide sees the ground as stationary at that instant and instead outputs a player vertical velocity of 0. The code detects a vertical velocity of 0 and instead treats it as the player moving at exactly the ground vertical velocity.
Even with this hack there is still some stuttering if the platform moves vertically. Further research may be warranted to try and stick the players feet to the ground, although crude attempts at doing this broke jumping.