Menu
CoddyTech

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 = true
challenge icon

Aufgabe

Einfach
  1. Prüfe in _on_clock_timeout() nach der Label-Zeile, ob time_left 0 ist. Falls ja, zeige Time's up! auf $HUD/Message an und pausiere das Spiel.
  2. Pausiere in _on_goal_body_entered(body) das Spiel nach You 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
quiz iconTeste dich selbst

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