남은 동전
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을 호출해야 합니다.
챌린지
중급개수를 수정하세요. 동전의 개수를 세기 전에 동전을 그룹 coins에서 제거하세요. 동전 세 개를 가져가면 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 플레이그라운드