Menu
CoddyTech

Pokonaj czas

Część sekcji Zasady gry ścieżki Godot w Coddy. Lekcja 24 z 29.

Odliczanie nie zatrzymuje się na zerze i trwa dalej: -1, -2. Dodaj zasady:

  • Gdy czas osiągnie 0, gracz przegrywa. Wyświetl Time's up! i zatrzymaj grę.
  • Jeśli gracz jako pierwszy dotrze do flagi, wygrywa. Wyświetl You win! i zatrzymaj grę.

Zatrzymaj grę za pomocą get_tree().paused = true. Pauza zatrzymuje zegar, więc czas pozostaje na wartości, na której się zatrzymał. Zatrzymuje też gracza, więc po upływie czasu nikt już nie wygra.

if time_left == 0:
	$HUD/Message.text = "Time's up!"
	get_tree().paused = true
challenge icon

Wyzwanie

Łatwy

Spraw, by odliczanie zmieniło się w wyścig, który możesz przegrać.

  1. W _on_clock_timeout(), po wierszu z etykietą, gdy time_left wynosi 0, ustaw $HUD/Message.text na "Time's up!" i wstrzymaj grę.
  2. W _on_goal_body_entered(body) wstrzymaj grę po "You win!".

Naciśnij „Graj” i poczekaj: przy Time: 0 gra zatrzyma się z komunikatem Time's up! Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Zasady gry

Poćwicz samodzielnie: Edytor online Godot