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 reguły:

  • Gdy czas osiągnie 0, gracz przegrywa. Wyświetl Time's up! i zatrzymaj grę.
  • Gdy gracz 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 nie wygra.

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

Wyzwanie

Łatwy
  1. W _on_clock_timeout(), po wierszu etykiety sprawdź, czy time_left wynosi 0. Jeśli tak, wyświetl Time's up! na $HUD/Message i wstrzymaj grę.
  2. W _on_goal_body_entered(body) wstrzymaj grę po wyświetleniu You win!.

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