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.
Wyzwanie
ŚredniW pliku main.gd:
- Dodaj
var coins_left = 0na górze i ustaw tę wartość na liczbę elementów w grupiecoinsw_ready(). - W
_on_coin_collected()odejmij jeden i wypiszCoins left:oraz tę liczbę zamiastGot 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!")
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
6Projekt: Zbieracz monet
Zbieracz monet: ChodzenieZbieracz monet: MonetyPoćwicz samodzielnie: Edytor online Godot