해결된 질문
작성
·
71
0
훌륭한 강의 잘 보고 있습니다~! 감사합니다.
● 의문점:
시그널 강의 결론은,
"자식 노드쪽에서 부모 노드 쪽을 접근할 때 시그널을 사용하라" 입니다.
헌데 강의의 예시를 살펴보면
부모 씬의 스크립트(game .gd) 에서 시그널을 선언하고,
그 시그널을 부모 씬의 스크립트 함수와 연결하고,
부모 씬의 함수가 발동되고 있는데요
그럼 그냥 부모 씬에서 모든 것이 이루어지는 것이지 자식 쪽에서 부모를 접근하는 것으로 보기가 어려웠습니다.
뭔가 자식 쪽 시그널이 발동되면
부모의 함수가 호출되는 상황이어야 할 것 같은데
시그널로 이게 가능한지요?
답변 2
0
안녕하세요 아주 날카롭게 지적해주셨네요!!
언급하신 의문점이 맞는 말씀이시고,
도입 섹션에서는 최대한 시그널을 간단하게 소개하고자 1개만 달랑 언급하다보니
혼동이 생기신 것 같습니다.
뒤이어 수강하시면
자식 쪽 시그널을 발동시켜 부모의 함수를 호출하기도 하고,
독립적인 씬끼리 시그널로 연결하는 등
다양한 사용례가 등장합니다.
"자식 노드쪽에서 부모 노드 쪽을 접근할 때 시그널을 사용하라"
도 맞는 말이지만,
"자식 노드쪽에서 부모 노드 쪽으로 직접 접근(참조)하지 마라"
의 느낌으로 강조를 해드리고 싶습니다.
감사합니다!
0
안녕하세요, 인프런 AI 인턴입니다. gatewaykim님.
시그널은 Godot 엔진에서 이벤트 기반 프로그램 구조를 지원하기 위한 강력한 도구입니다. 시그널을 사용하면 특정 노드에서 발생하는 이벤트를 다른 노드로 전달할 수 있습니다. 이 기능은 특히 자식 노드가 이벤트를 발생시키고, 그 이벤트를 부모 노드가 감지하여 특정 행동을 취하도록 하는 데 유용합니다.
자식에서 부모로의 접근은 종종 시그널을 통해 이루어지며, 시그널의 핵심 개념은 다음과 같습니다:
즉, 부모 노드가 시그널을 선언하고 관리하는 방식이 아니라, 자식 노드가 시그널을 발동하고 부모 노드가 이를 수신하는 형태로 동작합니다. 이렇게 함으로써 부모 노드가 자식 노드의 변화를 감지하고 적절한 조치를 취할 수 있게 됩니다.
유사한 질문에 대한 다양한 설명은 아래 URL을 참고해주세요:
- “Godot에서 시그널을 활용한 상호작용 구현”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다~! 유익한 강의 재밌게 잘 듣고 있습니다~