-
Godot 19 - 노드 참조, 소통게임 개발 2025. 11. 20. 10:55
다른 노드를 연결하는 것을 4가지 방식이 있다.
# 1. @onready (자주 사용)
@onready var sprite = $Sprite2D
# 자식, 형제 노드를 상대경로로 연결
# 가장 빠름
# 2. group (자주 사용)
get_tree().get_first_node_in_group("player")
# 그룹으로 찾음
# 씬 구조 무관, 여러 레벨에서 작동
# 3. @export (가끔 사용)
@export var health_component: Node
# 에디터에서 수동 연결
# 수치 커스터마이징할 때만
# 4. singleton (자주 사용)
GameManager.instance.add_score(100)
# 모든 노드가 자동으로 접근 가능
# 중앙 관리 시스템에 적합다른 노드와 소통하는 방식은 2가지가 있다.
# 1. signal (자주 사용)
signal took_damage(damage: int)
took_damage.emit(10)
# 한 신호 → 여러 노드 동시 반응
# 순서 상관없을 때
# 2. 함수 직접 호출 (가끔 사용)
velocity_component.accelerate_in_direction(direction)
velocity_component.move(self)
# 순서가 보장됨
# 순서가 중요할 때만 사용만약 위에 직접 호출 2줄을 신호방출 2개로 바꾸면 신호방출1->처리1->신호방출2->처리2로 보장을 못한다.
신호방출1->신호방출2->처리2->처리1 으로 되어버릴 수가 있다.
'게임 개발' 카테고리의 다른 글
Godot 20 - GDScript 표기법 (0) 2025.11.29 Aseprite 4 (1) 2025.09.23 Aseprite 3 (0) 2025.09.20 Aseprite 2 (0) 2025.09.18 Aseprite 1 (0) 2025.09.17