Batti il tempo
Fa parte della sezione Regole di gioco del percorso Godot di Coddy. Lezione 24 di 29.
Il conto alla rovescia non si ferma a zero e continua fino a -1, -2. Aggiungi queste regole:
- Quando il tempo raggiunge 0, il giocatore perde. Mostra
Time's up!e ferma il gioco. - Quando il giocatore raggiunge per primo la bandiera, vince. Mostra
You win!e ferma il gioco.
Ferma il gioco con get_tree().paused = true. La pausa ferma l'orologio, quindi il tempo rimane al valore raggiunto. Ferma anche il giocatore, così nessuno vince dopo che il tempo è scaduto.
if time_left == 0:
$HUD/Message.text = "Time's up!"
get_tree().paused = trueSfida
FacileTrasforma il conto alla rovescia in una gara che puoi perdere.
- In
_on_clock_timeout(), dopo la riga dell’etichetta, quandotime_leftè 0, imposta$HUD/Message.textsu"Time's up!"e metti in pausa il gioco. - In
_on_goal_body_entered(body), metti in pausa il gioco dopo"You win!".
Premi «Gioca» e aspetta: a Time: 0 il gioco si ferma con il messaggio Time's up! Poi premi «Verifica».
Provalo tu
extends Node2D
var time_left = 10
func _ready():
$HUD/Time.text = "Time: %d" % time_left
$Goal.body_entered.connect(_on_goal_body_entered)
$Clock.timeout.connect(_on_clock_timeout)
func _on_goal_body_entered(body):
if body.is_in_group("player"):
$HUD/Message.text = "You win!"
func _on_clock_timeout():
time_left -= 1
$HUD/Time.text = "Time: %d" % time_left
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Regole di gioco
Esercitati da solo: Playground Godot