Area끼리 만나기
Coddy Godot 여정의 시그널과 충돌 섹션에 포함된 레슨. 27개 중 6번째.
Godot의 노드에는 신호가 내장되어 있습니다. Area2D에는 자주 사용하게 될 신호가 네 개 있습니다:
body_entered와body_exited: 물리 객체가 들어오거나 나갔습니다. 물리 객체는CharacterBody2D및StaticBody2D처럼 단단한 객체입니다.area_entered와area_exited: 다른 영역이 들어오거나 나갔습니다.
영역은 다른 영역에 대해 body_entered를 보내지 않습니다. 떨어지는 별은 영역이므로 바구니에는 area_entered가 필요합니다:
func _ready():
area_entered.connect(_on_star_caught)이 함수는 들어온 영역을 받으므로 _on_body_entered(body)처럼 값 하나를 받습니다. 이름은 무엇이든 지정할 수 있습니다.
챌린지
쉬움바구니가 떨어지는 별들을 감지하게 하세요.
- 별은 바디가 아니라 영역입니다.
_ready()에서body_entered대신area_entered를 연결하세요. _on_star_caught를 함수로 유지하세요.
‘플레이’를 누르세요. 콘솔에 별 하나당 한 번씩 Caught a star!가 두 번 표시됩니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
extends Area2D
func _ready():
body_entered.connect(_on_star_caught)
func _on_star_caught(star):
print("Caught a star!")
시그널과 충돌의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드