Menu
CoddyTech

남은 동전

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을 호출해야 합니다.

challenge icon

챌린지

중급

남은 동전의 개수를 수정하세요.

  1. _on_body_entered에서 print 줄 앞에 동전을 그룹 coins에서 제거하세요.
  2. 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 플레이그라운드