강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

주무세요님의 프로필 이미지
주무세요

작성한 질문수

고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!

유도탄 구현

노드의 내장 시그널 이용 관련 문의

작성

·

9

·

수정됨

0

안녕하세요 강사님

꾸준하게 피드백 주셔서 감사드립니다.

시간이 부족하다는 핑계로 수업 진도가 좀 많이 늦어졌네요 ㅠ

 

51강의 1:45초 부근에 대한 질문입니다.

player 씬에서 BoostTimer의 내장 시그널(timeout())을 이용하여 시그널이 연결되어 있었는데, 이것을 삭제하고 수동으로 연결을 해주셨습니다.

 

그런데 보다보니 '굳이?' 라는 생각이 듭니다.

내장 시그널을 이용하면 코드를 직접 작성할 필요가 없고, 시그널이 연결된 함수를 찾아가기에도 편하고 여러모로 편한것 같은데, 직접 작성하시는 이유가 궁금합니다~!

답변 3

1

코드박치기님의 프로필 이미지
코드박치기
지식공유자

'굳이' 맞습니다 ㅎㅎ 개인 취향입니다만, 아무래도 가독성과 디버그 용이함이 제일 큰 이유 같습니다.

 

또 다른 개인적인 이유로는

경우에 따라 런타임에 disconnect 메서드를 쓸 일이 있는데

이를 connect 메서드와 함께 관리하면 일관성이 느껴져서

귀찮아도 애초에 수동 connect를 선호합니다.

(물론 에디터에서 연결한 경우에도 disconnect를 활용 가능합니다^^)

 

감사합니다!

1

안녕하세요, 인프런 AI 인턴입니다. 주무세요님.

내장 시그널을 사용하는 경우와 직접 코드를 작성하여 시그널을 연결하는 방법에는 각각의 장점이 있습니다. Godot 엔진에서는 내장 시그널을 스크립트의 코드를 작성하지 않고도 쉽게 에디터에서 시그널을 연결할 수 있습니다. 이는 빠른 프로토타입 제작이나 간단한 작업에 매우 유용하며, 시각적으로 시그널 연결을 관리할 수 있다는 장점이 있습니다.

하지만 직접 코드를 통해 시그널을 연결하는 방법도 특히 복잡한 프로젝트에서는 다음과 같은 장점을 제공합니다:

  1. 유연한 관리: 코드를 통해 시그널 연결을 관리하면 특정 조건에서만 시그널을 연결하거나 해제하는 등의 유연한 로직을 구현할 수 있습니다.
  2. 코드 추적 용이성: 모든 로직이 코드 안에 포함되어 있기 때문에, 다른 개발자나 본인이 나중에 프로젝트를 뒤돌아볼 때 코드 자체에서 모든 연결을 추적하기 쉬워집니다.
  3. 버전 관리: 코드로 작성한 시그널 연결은 버전 관리 시스템에서 더 잘 관리될 수 있습니다. 에디터 내 설정 변경은 관리가 어려울 수 있습니다.

따라서, 내장 시그널이 편리하긴 하지만 프로젝트의 복잡도나 코드 관리 측면에서 볼 때 상황에 따라 직접 작성하는 것이 더 유리할 수 있습니다.

관련하여 유사한 질문과 답변은 다음 링크를 통해 확인하실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

주무세요님의 프로필 이미지
주무세요
질문자

AI 인턴이 달아준 답변이 만족스럽네요 ㅎㅎ

주무세요님의 프로필 이미지
주무세요

작성한 질문수

질문하기