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 retourner 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. Ramène-le à son point de départ et réinitialise sa vitesse pour qu’il n’arrive pas encore en train de tomber :
if position.y > 400:
position = start_position
velocity = Vector2(0, 0)Défi
MoyenEnregistre la position de départ dans _ready(). Lorsque le héros tombe sous y = 400, replace-le à cet endroit et règle sa vitesse sur Vector2(0, 0).
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()
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 : SauterEntraînez-vous par vous-même : Playground Godot