Un eje
Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 3 de 28.
La izquierda y la derecha son los dos extremos de una línea, un eje. Input.get_axis() comprueba ambas acciones y devuelve un número:
-1mientras se mantiene pulsada la primera acción (izquierda)1mientras se mantiene pulsada la segunda (derecha)0cuando no se mantiene pulsada ninguna o cuando se mantienen pulsadas ambas
Multiplica ese número por la velocidad y el héroe se mueve en la dirección correcta sin usar if:
var speed = 300
func _process(delta):
var direction = Input.get_axis("move_left", "move_right")
position.x += direction * speed * deltaCuando direction es -1, x disminuye y el héroe se mueve hacia la izquierda. Cuando es 0, el héroe se queda quieto.
Desafío
FácilHaz que el héroe camine hacia la izquierda y hacia la derecha con una sola línea de entrada.
- En
_process(), guardaInput.get_axis("move_left", "move_right")envar direction. - Mueve
position.xen función dedirection * speedpor segundo.
Pulsa «Jugar»: las flechas hacen que el héroe camine a 300 píxeles por segundo, y si pulsas ambas a la vez, se queda quieto. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Node2D
var speed = 300
func _process(delta):
pass
Todas las lecciones de Entrada y movimiento
1Acciones de entrada
Presiona para moverteIzquierda y derechaUn ejeCuatro direccionesRecién presionadoEntrada no gestionadaPractica por tu cuenta: Playground de Godot