Menu
CoddyTech

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 * delta

El 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").

challenge icon

Desafío

Intermedio
  1. Añade const THRUST = 300.
  2. Mientras mantienes pulsada la tecla arriba, añade Vector2.UP.rotated(rotation) * THRUST * delta a la velocity de la nave.
  3. Mueve la nave con velocity * delta en cada fotograma, esté o no pulsada la tecla.
  4. Muestra $Flame solo 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
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Proyectos

Practica por tu cuenta: Playground de Godot