Accendere il motore
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 12 di 36.
Premi Su per accendere il motore e spingere l'astronave nella direzione in cui punta la sua prua. Vector2.UP è (0, -1). rotated(rotation) ruota quella freccia dello stesso angolo di rotazione dell'astronave:
if Input.is_action_pressed("move_up"):
velocity += Vector2.UP.rotated(rotation) * THRUST * delta
position += velocity * deltaIl motore cambia la velocità, non la posizione. Quando lasci il tasto Su, l'astronave continua a fluttuare. Per fermarti, gira nella direzione opposta e spingi dall'altra parte.
L'astronave ha un nodo figlio Flame nascosto. Mostralo mentre il motore è acceso: $Flame.visible = Input.is_action_pressed("move_up").
Sfida
MedioFai in modo che il motore spinga la nave.
- Aggiungi
const THRUST = 300. - Mentre tieni premuto Su, aggiungi
Vector2.UP.rotated(rotation) * THRUST * deltaavelocity. - Sposta la nave di
velocity * deltaa ogni fotogramma, che il tasto sia premuto o meno. - Mostra
$Flamesolo mentre tieni premuto Su.
Premi «Gioca» e tieni premuto Su: la fiamma brucia e la nave continua a scivolare dopo che rilasci il tasto. Poi premi «Verifica».
Provalo tu
extends CharacterBody2D
const TURN_SPEED = 4.0
func _physics_process(delta):
rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta
Tutte le lezioni di Progetti
2Progetto: Sparatutto di asteroidi
Ruotare la naveAccendere il motoreEsercitati da solo: Playground Godot