Courir et sauter
Fait partie de la section Entrées et déplacements du Journey Godot de Coddy. Leçon 15 sur 28.
Le déplacement ne modifie que velocity.x. La gravité et le saut ne modifient que velocity.y. Sépare donc les deux composantes :
velocity.x = Input.get_axis("move_left", "move_right") * speedNe définis pas toute la vélocité, comme ceci :
velocity = Vector2(Input.get_axis("move_left", "move_right") * speed, 0)Cette ligne définit velocity.y à 0 à chaque image. Elle efface la vitesse de chute et le saut, donc le héros flotte.
Défi
FacileFais courir le héros pendant qu’il tombe et saute.
- Au-dessus de
move_and_slide(), définisvelocity.xsurInput.get_axis("move_left", "move_right")multiplié parspeed. - Laisse
velocity.ygérer la gravité et le saut.
Appuie sur « Jouer » : le héros court à 220 pixels par seconde et peut sauter vers le haut et vers la droite. Ensuite, appuie sur « Vérifier ».
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
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