Héros : Retour au départ
Fait partie de la section Entrées et déplacements du Journey Godot de Coddy. Leçon 27 sur 28.
Si le héros tombe dans le trou, il doit revenir au point de départ.
Enregistre le point de départ dans une variable dans _ready(), qui s’exécute avant que le héros ne bouge :
var start_position = Vector2()
func _ready():
start_position = positionAprès move_and_slide(), vérifie si le héros est tombé sous l’écran de 360 pixels. Replace-le au point de départ et réinitialise sa vitesse pour qu’il ne revienne pas en continuant de tomber :
if position.y > 400:
position = start_position
velocity = Vector2(0, 0)Défi
MoyenRenvoie le héros au point de départ lorsqu’il tombe dans le trou.
- Ajoute
var start_position = Vector2(), puis, dans une nouvelle fonction_ready(), donne-lui la valeur deposition. - Après
move_and_slide(), lorsqueposition.y > 400, donne àpositionla valeur destart_positionet àvelocityla valeur deVector2(0, 0).
Clique sur « Jouer » et tombe dans le trou : le héros revient au point de départ. Puis clique sur « Vérifier ».
Essayez vous-même
extends CharacterBody2D
var speed = 220
var acceleration = 1200
var friction = 2400
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
var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)
if direction > 0:
$Look.scale.x = 1
if direction < 0:
$Look.scale.x = -1
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