physique: appliquer la graivté en pente descendante

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.
This commit is contained in:
Thomas Lavocat
2023-04-29 14:12:31 +02:00
parent cb5c5ad728
commit 8948aa1586

View File

@@ -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)