Un asse
Fa parte della sezione Input e movimento del percorso Godot di Coddy. Lezione 3 di 28.
Sinistra e destra sono le due estremità di una linea, un asse. Input.get_axis() controlla entrambe le azioni e restituisce un numero:
-1mentre è premuta la prima azione (sinistra)1mentre è premuta la seconda (destra)0quando non è premuta nessuna delle due, oppure entrambe
Moltiplica quel numero per la velocità e l'eroe si muove nella direzione giusta senza if:
var speed = 300
func _process(delta):
var direction = Input.get_axis("move_left", "move_right")
position.x += direction * speed * deltaQuando direction è -1, x diminuisce e l'eroe si muove a sinistra. Quando è 0, l'eroe resta fermo.
Sfida
FacileFai camminare l’eroe a sinistra e a destra con una sola riga di input.
- In
_process(), memorizzaInput.get_axis("move_left", "move_right")invar direction. - Sposta
position.xdidirection * speedal secondo.
Premi «Gioca»: le frecce fanno camminare l’eroe a 300 pixel al secondo, mentre premendole entrambe contemporaneamente lo mantieni fermo. Poi premi «Verifica».
Provalo tu
extends Node2D
var speed = 300
func _process(delta):
pass
Tutte le lezioni di Input e movimento
Esercitati da solo: Playground Godot