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 liczbie pozostałych monet. Main musi wiedzieć o każdej zebranej przez ciebie monecie. Dlatego każda moneta wysyła sygnał, a Main 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 połącz wszystkie monety 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 funkcji _ready() w Main, ponieważ Godot przygotowuje dzieci przed rodzicem. Wtedy każda moneta należy już do grupy.

challenge icon

Wyzwanie

Średni

Tym razem dwa skrypty:

  1. coin.gd: zadeklaruj signal collected i wyemituj go przed queue_free().
  2. main.gd: w _ready() połącz sygnał collected każdej monety z nową funkcją _on_coin_collected(), która wypisuje Got a coin!.

Spróbuj swoich sił

extends Node2D

func _ready():
	pass
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