남은 동전
Coddy Godot 여정의 시그널과 충돌 섹션에 포함된 레슨. 27개 중 17번째.
여기서 각 동전은 그 동전을 획득할 때 남아 있는 동전의 개수를 셉니다. 첫 번째 동전은 Coins left: 3을 출력하지만, 실제로는 두 개만 남아 있습니다.
queue_free()는 프레임이 끝날 때까지 기다립니다. 그때까지 동전은 여전히 그룹에 있으므로, 자기 자신도 셉니다.
먼저 remove_from_group()으로 동전을 그룹에서 제거하세요. 그러면 바로 적용됩니다.
func _on_body_entered(body):
remove_from_group("coins")
print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
queue_free()줄은 위에서 아래로 실행되므로, 개수를 세기 전에 remove_from_group을 호출해야 합니다.
챌린지
중급남은 동전의 개수를 수정하세요.
_on_body_entered에서print줄 앞에 동전을 그룹coins에서 제거하세요.remove_from_group()을 사용하세요.
‘플레이’를 누르고 동전 세 개를 획득하세요. Console에 Coins left: 2, Coins left: 1, 그리고 Coins left: 0이 표시됩니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
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()
시그널과 충돌의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드