Menu
CoddyTech

Conducir

Lección 1 de 20 del curso Juego de Godot: Circuito Neón de Coddy.

En este curso crearás un juego completo, una función por lección: un juego de carreras de neón visto desde arriba. Competirás contra tres coches rivales durante tres vueltas alrededor de una pista resplandeciente.

El proyecto incluye tres scripts para ti: car.gd para el coche, rival.gd para los rivales y race.gd para la carrera. Se proporcionan otras dos partes que no tendrás que tocar: la pista, que dibuja la carretera y responde preguntas sobre ella, y la escena. No necesitarás modificarlas.

Hoy el coche aprende a conducir. Tiene una velocity: cuántos píxeles se mueve cada segundo y en qué dirección. La dirección hacia la que apunta el coche se convierte en una dirección a partir de su rotation:

var forward := Vector2.RIGHT.rotated(rotation)

Mientras mantienes pulsada la tecla Arriba, la velocidad aumenta en esa dirección a razón de accel por segundo. Input.get_action_strength vale 1.0 mientras la tecla está pulsada y 0.0 cuando no lo está:

var throttle := Input.get_action_strength("move_up")
velocity += forward * throttle * accel * delta
velocity = velocity.limit_length(max_speed)
position += velocity * delta

limit_length mantiene la velocidad en max_speed o por debajo. Multiplicar por delta, los segundos transcurridos desde el último fotograma, mantiene la velocidad igual tanto en una pantalla rápida como en una lenta.

challenge icon

Desafío

Fácil
  1. En car.gd, reemplaza pass en _physics_process por las líneas de arriba.
  2. Por último, haz que el escape brille mientras conduces: $Exhaust.emitting = throttle > 0.0.
  3. Pulsa «Jugar» y mantén pulsada la tecla de flecha arriba (o W).

Pruébalo tú mismo

extends Node2D

@export var accel := 260.0
@export var max_speed := 200.0

var velocity := Vector2.ZERO


func _physics_process(delta: float) -> void:
	pass  # drive here

Todas las lecciones de Juego de Godot: Circuito Neón

Practica por tu cuenta: Playground de Godot