Menu
CoddyTech

코인 수집가: 수집한 코인

Coddy Godot 여정의 시그널과 충돌 섹션에 포함된 레슨. 27개 중 25번째.

main.gd에는 남은 코인의 개수와 같은 게임 규칙이 들어 있습니다. Main은 네가 가져가는 모든 코인에 대해 알아야 합니다. 그래서 각 코인이 신호를 보내고 Main은 그 신호를 모두 수신합니다.

coin.gd에서 signal collected를 선언하고 코인이 스스로를 제거하기 직전에 신호를 내보냅니다.

if body.is_in_group("player"):
	collected.emit()
	queue_free()

main.gd에서 스파이크에 했던 것처럼 그룹의 모든 코인을 연결합니다.

for coin in get_tree().get_nodes_in_group("coins"):
	coin.collected.connect(_on_coin_collected)

Godot은 부모보다 자식을 먼저 준비하므로 Main의 _ready()에서 이 작업을 해도 됩니다. 그때쯤이면 모든 코인이 그룹에 들어와 있습니다.

challenge icon

챌린지

중급

Main이 획득한 코인을 하나씩 알 수 있게 하세요.

  1. coin.gd에서 signal collected를 선언하고 queue_free() 전에 신호를 발생시키세요.
  2. main.gd의 _ready()에서 모든 코인의 collected를 새 함수 _on_coin_collected()에 연결하세요.
  3. 해당 함수에서 Got a coin!을 출력하게 하세요.

‘플레이’를 누르고 코인 위를 지나가 보세요. 콘솔에 Got a coin!이 표시됩니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

extends Node2D

func _ready():
	pass

시그널과 충돌의 모든 레슨

직접 연습해 보세요: Godot 플레이그라운드