Schlage die Zeit
Teil des Abschnitts Spielregeln der Godot-Journey von Coddy. Lektion 24 von 29.
Der Countdown bewirkt bei null nichts und läuft weiter bis -1, -2. Füge folgende Regeln hinzu:
- Wenn die Zeit 0 erreicht, verliert der Spieler. Zeige
Time's up!an und stoppe das Spiel. - Wenn der Spieler zuerst die Flagge erreicht, gewinnt er. Zeige
You win!an und stoppe das Spiel.
Stoppe das Spiel mit get_tree().paused = true. Die Pause hält die Uhr an, sodass die Zeit beim Endstand stehen bleibt. Sie stoppt auch den Spieler, sodass niemand gewinnt, nachdem die Zeit abgelaufen ist.
if time_left == 0:
$HUD/Message.text = "Time's up!"
get_tree().paused = trueAufgabe
Einfach- Prüfe in
_on_clock_timeout()nach der Label-Zeile, obtime_left0 ist. Falls ja, zeigeTime's up!auf$HUD/Messagean und pausiere das Spiel. - Pausiere in
_on_goal_body_entered(body)das Spiel nachYou win!.
Probier es selbst
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
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Spielregeln
Übe selbstständig: Godot-Playground