Guidare
Lezione 1 di 20 del corso Gioco Godot: Circuito al neon di Coddy.
In questo corso realizzi un intero gioco in una lezione: un gioco di corse al neon visto dall’alto. Gareggi contro tre auto rivali per tre giri su una pista illuminata.
Il progetto include tre script: car.gd sull’auto, rival.gd per le auto rivali e race.gd per la gara. Ci sono anche altre due parti già fornite e non visibili: la pista, che disegna la strada e risponde a domande su di essa, e la scena. Non dovrai modificarle.
Oggi l’auto impara a guidare. Mantiene una velocity: quanti pixel si sposta ogni secondo e in quale direzione. La direzione verso cui punta l’auto si ottiene trasformando la sua rotation in una direzione:
var forward := Vector2.RIGHT.rotated(rotation)Quando tieni premuto il tasto Su, la velocità aumenta in quella direzione di accel al secondo. Input.get_action_strength vale 1.0 mentre il tasto è premuto e 0.0 quando non lo è:
var throttle := Input.get_action_strength("move_up")
velocity += forward * throttle * accel * delta
velocity = velocity.limit_length(max_speed)
position += velocity * deltalimit_length mantiene la velocità a max_speed o al di sotto. Moltiplicare per delta, il tempo in secondi trascorso dall’ultimo fotogramma, mantiene la velocità uguale sia su uno schermo veloce sia su uno lento.
Sfida
Facile- In
car.gd, sostituiscipassin_physics_processcon le righe qui sopra. - Infine, fai brillare lo scarico mentre guidi:
$Exhaust.emitting = throttle > 0.0. - Premi «Gioca» e tieni premuto il tasto Su (o W).
Provalo tu
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
Tutte le lezioni di Gioco Godot: Circuito al neon
Esercitati da solo: Playground Godot