Pārlūkot izejas kodu

Merge pull request #24046 from DualMatrix/stop_slope

Fixed using move_and_slide with stop_on_slope stopping too early
Rémi Verschelde 6 gadi atpakaļ
vecāks
revīzija
661e5e873b
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      scene/2d/physics_body_2d.cpp

+ 1 - 1
scene/2d/physics_body_2d.cpp

@@ -1293,7 +1293,7 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const
 						if (p_stop_on_slope) {
 						if (p_stop_on_slope) {
 							if (Vector2() == lv_n + p_floor_direction) {
 							if (Vector2() == lv_n + p_floor_direction) {
 								Transform2D gt = get_global_transform();
 								Transform2D gt = get_global_transform();
-								gt.elements[2] -= collision.travel;
+								gt.elements[2] -= collision.travel.project(p_floor_direction.tangent());
 								set_global_transform(gt);
 								set_global_transform(gt);
 								return Vector2();
 								return Vector2();
 							}
 							}