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(), verifica se l'eroe è caduto sotto lo schermo di 360 pixel. Rimettilo al suo posto e azzera la sua velocità, così non arriverà ancora in caduta:
if position.y > 400:
position = start_position
velocity = Vector2(0, 0)Sfida
MedioRiporta l'eroe all'inizio quando cade nella fossa.
- Aggiungi
var start_position = Vector2()e, in un nuovo_ready(), impostalo suposition. - Dopo
move_and_slide(), quandoposition.y > 400, impostapositionsustart_positionevelocitysuVector2(0, 0).
Premi «Gioca» e cadi nella fossa: l'eroe torna all'inizio. Poi premi «Verifica».
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()
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