ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.