From 8948aa158601fbe6fce5e8309f14f6d2c700b1d1 Mon Sep 17 00:00:00 2001 From: Thomas Lavocat Date: Sat, 29 Apr 2023 14:12:31 +0200 Subject: [PATCH] =?UTF-8?q?physique:=20appliquer=20la=20graivt=C3=A9=20en?= =?UTF-8?q?=20pente=20descendante?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dans la version précédente, lorsque la princesse déscendait un pente, il se trouvait que la graivté ne la faisait pas coller au sol correctement. Pour corriger le soucis, il faut appliquer la gravité en fonction de ce que décide le joueur car on a besoin de désactiver la gravité pour permettre au joueur de remonter la pente, mais l'activer à fond and il descend la pente pour lui permettre de garde les pieds au sol. --- princesse.gd | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/princesse.gd b/princesse.gd index c19ddd5..59afeab 100644 --- a/princesse.gd +++ b/princesse.gd @@ -105,9 +105,22 @@ func walk(direction:int) -> int: func fall() -> int: - if jumping or is_on_floor(): + if jumping: falling_step = -1 return velocity.y + if is_on_floor(): + if get_floor_normal()[0] < 0: # pente à gauche + if direction >= 0:# on va à droite, désactive la gravité + falling_step = -1 + return velocity.y + else: # on va à gauche, gravité à fond + falling_step = FALL_SPEED_TABLE.size()-1 + else: # pente à droite + if direction > 0:# on va à droite, active la gravité à fond + falling_step = FALL_SPEED_TABLE.size()-1 + else: # on va à gauche, désactive la gravité + falling_step = -1 + return velocity.y else: if grab_wall: falling_step = max(falling_step-1, 1)