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:
15
princesse.gd
15
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)
|
||||
|
||||
Reference in New Issue
Block a user