Apply is_ceiling/is_wall swap fix to 2D move_and_slide (minus explaination)
As it turns out, is_ceiling would be true when hitting a wall, and is_wall would be true momentarily when hitting a ceiling. This makes a tiny one-line change to fix that. Without trying to explain the code for anyone else having to mess around with it.
This commit is contained in:
parent
b7ce1601a3
commit
0a4dde93d4
1 changed files with 1 additions and 1 deletions
|
@ -1199,7 +1199,7 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const
|
|||
revert_motion();
|
||||
return Vector2();
|
||||
}
|
||||
} else if (get_collision_normal().dot(-p_floor_direction) <= Math::cos(p_floor_max_angle)) { //ceiling
|
||||
} else if (get_collision_normal().dot(-p_floor_direction) >= Math::cos(p_floor_max_angle)) { //ceiling
|
||||
move_and_slide_on_ceiling = true;
|
||||
} else {
|
||||
move_and_slide_on_wall = true;
|
||||
|
|
Loading…
Reference in a new issue