Eroe: tornare all'inizio
Fa parte della sezione Input e movimento del percorso Godot di Coddy. Lezione 27 di 28.
Se l'eroe cade nella fossa, dovrebbe tornare al punto di partenza.
Memorizza il punto di partenza in una variabile in _ready(), che viene eseguita prima che l'eroe si muova:
var start_position = Vector2()
func _ready():
start_position = positionDopo move_and_slide(), controlla se l'eroe è caduto sotto lo schermo di 360 pixel. Rimettilo al punto di partenza e reimposta la sua velocità, così non arriverà ancora in caduta:
if position.y > 400:
position = start_position
velocity = Vector2(0, 0)Sfida
MedioMemorizza la posizione iniziale in _ready(). Quando l’eroe cade sotto y = 400, rimettilo lì e imposta la sua velocità su Vector2(0, 0).
Provalo tu
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()
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Input e movimento
2CharacterBody2D
CharacterBody2DCammina con la velocitàI muri ti fermanoCammina ovunqueDiagonali corrette5Progetto: Eroe platform
Eroe: correreEroe: saltareEsercitati da solo: Playground Godot