코인 수집가: 수집한 코인
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()에서 이 작업을 해도 됩니다. 그때쯤이면 모든 코인이 그룹에 들어와 있습니다.
챌린지
중급Main이 획득한 코인을 하나씩 알 수 있게 하세요.
coin.gd에서signal collected를 선언하고queue_free()전에 신호를 발생시키세요.main.gd의_ready()에서 모든 코인의collected를 새 함수_on_coin_collected()에 연결하세요.- 해당 함수에서
Got a coin!을 출력하게 하세요.
‘플레이’를 누르고 코인 위를 지나가 보세요. 콘솔에 Got a coin!이 표시됩니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
extends Node2D
func _ready():
pass
시그널과 충돌의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드