Saut variable
Fait partie de la section Entrées et déplacements du Journey Godot de Coddy. Leçon 16 sur 28.
Dans la plupart des jeux de plateforme, une pression brève déclenche un petit bond, tandis qu’un bouton maintenu déclenche un saut complet.
Pour cela, interromps le saut lorsque le bouton est relâché. Input.is_action_just_released("jump") est vrai pendant l’unique image où la touche est relâchée. Si le héros est encore en train de monter à ce moment-là, réduis de moitié sa vitesse ascendante :
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2velocity.y < 0 signifie que le héros est encore en train de monter. Sans cette condition, un relâchement pendant la descente ralentirait la chute.
Maintiens la touche enfoncée jusqu’à ce que le saut ait atteint son sommet, et rien ne sera interrompu.
Défi
MoyenAppuyez brièvement sur jump pour effectuer un petit bond. Lorsque la touche est relâchée alors que le héros est encore en train de monter, divisez velocity.y par deux. Maintenir la touche enfoncée permet toujours d'effectuer le saut complet.
Essayez vous-même
extends CharacterBody2D
var speed = 220
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Entrées et déplacements
2CharacterBody2D
CharacterBody2DSe déplacer avec une vélocitéLes murs vous arrêtentSe déplacer partoutDiagonales équilibrées5Projet : Héros de jeu de plateforme
Héros : CourirHéros : Sauter3Gravité et saut
Tomber sous l’effet de la gravitéSauter vers le hautUniquement depuis le solCourir et sauterSaut variableDouble sautEntraînez-vous par vous-même : Playground Godot