Menu
CoddyTech

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.

challenge icon

Wyzwanie

Średni

Spraw, aby Main słyszał za każdym razem, gdy zostanie zebrana moneta.

  1. W coin.gd zadeklaruj signal collected i wyemituj ten sygnał przed queue_free().
  2. W _ready() w pliku main.gd połącz collected każdej monety z nową funkcją _on_coin_collected().
  3. 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

Poćwicz samodzielnie: Edytor online Godot