Menu
CoddyTech

Pozostałe monety

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

Każda moneta zlicza monety, które pozostały po jej zabraniu. Pierwsza wypisuje Coins left: 3, ale pozostają tylko dwie.

queue_free() czeka do końca klatki. Do tego czasu moneta nadal należy do swojej grupy, więc zlicza samą siebie.

Najpierw usuń monetę z grupy za pomocą remove_from_group(). To działa od razu:

func _on_body_entered(body):
	remove_from_group("coins")
	print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
	queue_free()

Wiersze są wykonywane od góry do dołu, więc remove_from_group musi wystąpić przed zliczaniem.

challenge icon

Wyzwanie

Średni

Popraw liczenie. Usuń monetę z grupy coins, zanim zostanie policzona. Zebranie trzech monet powinno wypisać Coins left: 2, Coins left: 1, a następnie Coins left: 0.

Spróbuj swoich sił

extends Area2D

func _ready():
	add_to_group("coins")
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
	queue_free()
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