Sauter vers le haut
Fait partie de la section Entrées et déplacements du Journey Godot de Coddy. Leçon 13 sur 28.
Pour sauter, définis velocity.y à une grande vitesse vers le haut pendant la frame où le joueur appuie sur jump. Plus on monte, plus y est petit, donc le nombre est négatif :
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump"):
velocity.y = jump_velocity
move_and_slide()Tu n’as pas besoin de coder la descente. La gravité continue d’augmenter velocity.y, donc le héros ralentit en montant, s’arrête au sommet et retombe.
Utilise is_action_just_pressed, et non is_action_pressed. Si une touche restait enfoncée, la vitesse serait définie sur -500 à chaque frame, et le héros s’envolerait hors de l’écran.
Défi
FacileFais sauter le héros.
- Entre la ligne de gravité et
move_and_slide(), ajoute unifpourInput.is_action_just_pressed("jump"). - À l’intérieur, définis
velocity.ysurjump_velocity.
Appuie sur « Jouer » et sur la barre d’espace : le héros saute puis atterrit, et maintenir la barre d’espace ne le fait pas s’envoler. Ensuite, appuie sur « Vérifier ».
Essayez vous-même
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
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