Batti il tempo
Fa parte della sezione Regole di gioco del percorso Godot di Coddy. Lezione 24 di 29.
Il conto alla rovescia non fa nulla quando arriva a zero e continua fino a -1, -2. Aggiungi queste regole:
- Quando il tempo raggiunge 0, il giocatore perde. Mostra
Time's up!e interrompi il gioco. - Quando il giocatore raggiunge per primo la bandiera, vince. Mostra
You win!e interrompi il gioco.
Interrompi il gioco con get_tree().paused = true. La pausa ferma l'orologio, quindi il tempo resta 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
Facile- In
_on_clock_timeout(), dopo la riga dell’etichetta, controlla setime_leftè 0. In tal caso, mostraTime's up!su$HUD/Messagee metti in pausa il gioco. - In
_on_goal_body_entered(body), metti in pausa il gioco dopoYou win!.
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