Zbieracz monet: Zebrane
Część sekcji Sygnały i kolizje ścieżki Godot w Coddy. Lekcja 25 z 27.
main.gd zawiera zasady gry, na przykład informację o tym, ile monet zostało. Główny węzeł musi wiedzieć o każdej zabranej przez ciebie monecie. Dlatego każda moneta wysyła sygnał, a główny węzeł nasłuchuje ich wszystkich.
W coin.gd zadeklaruj signal collected i wyemituj ten sygnał tuż przed usunięciem monety:
if body.is_in_group("player"):
collected.emit()
queue_free()W main.gd podłącz każdą monetę z grupy, tak jak w przypadku kolców:
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)To działa w metodzie _ready() głównego węzła, ponieważ Godot inicjuje dzieci przed rodzicem. Wtedy każda moneta należy już do grupy.
Wyzwanie
ŚredniSpraw, aby Main słyszał za każdym razem, gdy zostanie zebrana moneta.
- W
coin.gdzadeklarujsignal collectedi wyemituj ten sygnał przedqueue_free(). - W
_ready()w plikumain.gdpołączcollectedkażdej monety z nową funkcją_on_coin_collected(). - Spraw, aby ta funkcja wyświetlała
Got a coin!.
Naciśnij „Graj” i przejdź nad monetą: w konsoli pojawi się Got a coin!. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
extends Node2D
func _ready():
pass
Wszystkie lekcje w sekcji Sygnały i kolizje
6Projekt: Zbieracz monet
Zbieracz monet: ChodzenieZbieracz monet: MonetyPoćwicz samodzielnie: Edytor online Godot