Encender el motor
Parte de la sección Proyectos del Journey de Godot de Coddy. Lección 11 de 33.
Al pulsar Arriba, se enciende el motor y la nave avanza en la dirección hacia la que apunta su proa. Vector2.UP es (0, -1). rotated(rotation) gira esa flecha tanto como haya girado la nave:
if Input.is_action_pressed("move_up"):
velocity += Vector2.UP.rotated(rotation) * THRUST * delta
position += velocity * deltaEl motor cambia la velocidad, no la posición. Cuando sueltas Arriba, la nave sigue desplazándose. Para detenerte, gira en sentido contrario y acelera hacia el otro lado.
La nave tiene un nodo hijo oculto llamado Flame. Muéstralo mientras el motor está encendido: $Flame.visible = Input.is_action_pressed("move_up").
Desafío
Intermedio- Añade
const THRUST = 300. - Mientras mantienes pulsada la tecla arriba, añade
Vector2.UP.rotated(rotation) * THRUST * deltaa lavelocityde la nave. - Mueve la nave con
velocity * deltaen cada fotograma, esté o no pulsada la tecla. - Muestra
$Flamesolo mientras mantienes pulsada la tecla arriba.
Pruébalo tú mismo
extends CharacterBody2D
const TURN_SPEED = 4.0
func _physics_process(delta):
rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Proyectos
2Proyecto: Disparador de asteroides
Girar la naveEncender el motorPractica por tu cuenta: Playground de Godot