Se déplacer avec une vélocité
Fait partie de la section Entrées et déplacements du Journey Godot de Coddy. Leçon 8 sur 28.
Pour te déplacer avec les touches, définis la vitesse à partir de Input.get_axis() à chaque image physique, puis déplace le personnage :
var speed = 200
func _physics_process(delta):
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()Maintenir la touche droite définit velocity.x à 200. Maintenir la touche gauche le définit à -200. Ne maintenir aucune touche le définit à 0, donc le héros s'arrête quand tu relâches la touche.
Avec un Node2D, tu as écrit position.x += direction * speed * delta. Avec un corps, velocity est la vitesse elle-même. La multiplier par delta rendrait le héros 60 fois trop lent.
Défi
FacileFais marcher le héros vers la gauche et vers la droite en fonction de sa vitesse.
- Au-dessus de
move_and_slide(), définisvelocity.xsurInput.get_axis("move_left", "move_right")multiplié parspeed. - N’inclus pas
delta:move_and_slide()s’en charge.
Appuie sur « Jouer » et maintiens une touche fléchée : le héros marche à 200 pixels par seconde et s’arrête quand tu relâches la touche. Ensuite, clique sur « Vérifier ».
Essayez vous-même
extends CharacterBody2D
var speed = 200
func _physics_process(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 : SauterEntraînez-vous par vous-même : Playground Godot