Menu
CoddyTech

Zbieracz monet: Pozostałe monety

Część sekcji Sygnały i kolizje ścieżki Godot w Coddy. Lekcja 26 z 27.

Skrypt Main powinien wiedzieć, ile monet pozostało. Przechowuj tę liczbę w zmiennej na początku pliku main.gd. Policz elementy grupy raz na początku, a następnie odejmuj jeden za każdą zebraną monetę:

var coins_left = 0

func _ready():
	coins_left = get_tree().get_nodes_in_group("coins").size()

Dlaczego nie policzyć elementów grupy w _on_coin_collected? Moneta wysyła sygnał collected tuż przed zwolnieniem. Pozostaje w swojej grupie do końca klatki, więc wynik liczenia uwzględniałby ją.

Zmienna zmienia się tylko wtedy, gdy ją zmienisz.

challenge icon

Wyzwanie

Średni

W pliku main.gd:

  1. Dodaj var coins_left = 0 na górze i ustaw tę wartość na liczbę elementów w grupie coins w _ready().
  2. W _on_coin_collected() odejmij jeden i wypisz Coins left: oraz tę liczbę zamiast Got a coin!.

Pierwsza moneta wypisuje Coins left: 5.

Spróbuj swoich sił

extends Node2D

func _ready():
	for coin in get_tree().get_nodes_in_group("coins"):
		coin.collected.connect(_on_coin_collected)

func _on_coin_collected():
	print("Got a coin!")
quiz iconSprawdź się

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

Wszystkie lekcje w sekcji Sygnały i kolizje

Poćwicz samodzielnie: Edytor online Godot