게시글
질문&답변
21. Dictionary 활용 저장&로드
안녕하세요.해당 강의 21.은 딕셔너리만 사용해서 저장/로드를 구현한 것입니다. ^^; 저장에 쓰인 store_var() 함수의 도움말 검색을 눌러보시면딕셔너리를 포함한 모든 Variant를 저장할수 있는데 Variant는 딕셔너리, 어레이를 포함한 모든 데이터 타입을 뜻한다고 나와있습니다.즉 save_data: Array 형태도 작성하여 얼마든지 저장 가능합니다.enum도 내부적으로는 정수값(int)이므로 당연히 저장 가능합니다. 딕셔너리로 소개해드린 이유는딕셔너리 저장이 godot 이외의 게임 개발에서도 널리 쓰이고 권장되는 방식이기 때문입니다. ("Json" 개념 참조) 추가 질문은 제가 잘 이해를 못한것 같습니다만,섹션5. 슈터 게임 섹션에서 Array, Enum, Dictionary 모두 여기저기 활용을 합니다. 감사합니다!
- 0
- 2
- 33
질문&답변
66강. INPUT 관리
안녕하세요!말씀하신대로 부스터, 유도탄 발사는 가끔씩만 입력하므로process가 아닌 unhandled input(또는 input)에 넣었습니다.66강에서 캐릭터 조작 관련은 unhandled input에 쓰겠다고제가 분류를 한지라, unhandled input에 넣게 되었네요. 아울러player 이동은 워낙 역동적으로 움직이다 보니process에 두어도 성능 낭비가 없겠다는 판단이 들어 process에 남겨두었습니다. 다시 보니var direction을 바깥에서 선언하고,process에 있는 direction = Input.get_vector("move_left", ... ,"move_down") 한 줄을unhandled input으로 가져오는 게 오해의 소지를 최대한 없앨 것 같네요. 감사합니다!
- 0
- 2
- 21
질문&답변
31강 질문
안녕하세요.문의주신 내용이 잘 정리된 사이트는 저 역시 아는 바가 없네요.관심이 가는 노드를 눌러 인스펙터 탭을 확인하는 방법이 가장 직관적인 것 같습니다.(사진) 아울러 Claude를 통한 ai 답변 내용을 공유합니다. 틀린 부분은 없어 보이네요. 📋 노드-리소스 관계 상세 정리🎨2D 그래픽 관련(사진)(사진)(사진)(사진)(사진)감사합니다
- 0
- 2
- 34
질문&답변
69번 강의에서 에러 발생 보고
작지만 치명적인 버그네요 제보해주셔서 감사합니다추록 파일을 올리도록 하겠습니다.
- 0
- 2
- 35
질문&답변
노드의 내장 시그널 이용 관련 문의
'굳이' 맞습니다 ㅎㅎ 개인 취향입니다만, 아무래도 가독성과 디버그 용이함이 제일 큰 이유 같습니다. 또 다른 개인적인 이유로는경우에 따라 런타임에 disconnect 메서드를 쓸 일이 있는데이를 connect 메서드와 함께 관리하면 일관성이 느껴져서귀찮아도 애초에 수동 connect를 선호합니다.(물론 에디터에서 연결한 경우에도 disconnect를 활용 가능합니다^^) 감사합니다!
- 0
- 3
- 37
질문&답변
46. 상속씬(3) 수업 질문
안녕하세요.파이썬의 super()과 다르게, super() 구문이 들어간 해당 메서드(부모 클래스)만 실행된다고 보시면 됩니다.따라서 부모 클래스의 메서드를 실행하고 싶으면 일일이 super()를 써야하며,on_area_entered에서 super()을 쓰지 않은 결과부모 클래스의 pass 구문 조차 실행되지 않는다고 보시면 됩니다.super()을 써봤자 pass가 실행되니까 의미없다고 보시면 되겠네요.파이썬에서의 super(). something() 식으로 따로 호출을 한다는 점과 차이가 있습니다.감사합니다!
- 0
- 2
- 36
질문&답변
3. 미니 슈터게임 > 레이저씬 에서 global_position 과 position 차이??
안녕하세요글로벌 좌표가 로컬 좌표보다 직관적이고 이해하기 쉬워서사용한 것이지 별다른 의미는 없습니다! ^^;커리큘럼 상으로도 뒤쪽에서 로컬 좌표계를 설명하기 때문에 글로벌 포지션을 먼저 사용했습니다.감사합니다!
- 0
- 2
- 50
질문&답변
안드로이드, iOS빌드
안녕하세요!우선 고도 엔진에서 모바일 게임 지원이 아직 그렇게 좋지는 않다는 점을 알려드리고 싶네요.인앱 결제나 애드몹을 쓰실 때 초보자가 구현하기 만만치 않고,특히 ios 쪽이 상대적으로 더 빈약합니다. 규모가 작은 모바일 게임을 만들어서 안드로이드에서 실행되는 .apk를 빌드하고 싶으시다면https://www.youtube.com/watch?v=dCLYMF32ZBE위 간단한 영상을 참고하시면 도움이 될 것 같습니다.하지만 (보통의 경우) 광고나 인앱 결제를 연동하고 구글 플레이에 출시를 하고 싶으시다면gradle이라는 것을 빌드 하여 .aab를 빌드하여야 합니다.https://docs.godotengine.org/en/stable/tutorials/export/android_gradle_build.htmlgradle build는 위 공식 문서를 참고해주시면 될 것 같습니다.(android 빌드 템플릿 설치를 하시면 되는데 강의 내용과 꽤 유사합니다) ios의 경우 xcode를 이용해서 빌드를 해야 하는데,https://www.youtube.com/watch?v=x_ZFAV2id3I위의 긴 영상에 macOS를 통해 빌드부터 앱 스토어 등록까지 자세히 나와 있어서참고하시면 될 것 같습니다. 고도 엔진도 워낙 빠르게 발전하다 보니,모바일 개발 생태계가 좋아지는 대로모바일 게임 강의 제작도 고려하고 있습니다.^^감사합니다!
- 0
- 1
- 97
질문&답변
우주선 회전
안녕하세요강의 12분 부근의 중간 코드를 말씀하시는 것 같네요!해당 코드는 대각선 방향(방향 버튼 2개)을 누른 손가락을동시에 떼야 대각선으로 멈추게 되고,두 손가락을 떼는 데 조금이라도 오차(60분의 1초 이상)가 생기면조금이라도 늦게 뗀 손가락 기준으로 get_vector가 바뀌기 때문에우주선이 그쪽으로 바라보게 됩니다.이는 오류가 있다기 보다는 _process 함수가 1초에 60번 우리 키보드의 입력을 받기 때문에생기는 부득이한 현상.. 이라고 이해를 하시고 넘어가면 될 것 같습니다.감사합니다!
- 0
- 2
- 71
질문&답변
시그널 - 자식에서 부모노드로 접근
안녕하세요 아주 날카롭게 지적해주셨네요!!언급하신 의문점이 맞는 말씀이시고,도입 섹션에서는 최대한 시그널을 간단하게 소개하고자 1개만 달랑 언급하다보니혼동이 생기신 것 같습니다.뒤이어 수강하시면자식 쪽 시그널을 발동시켜 부모의 함수를 호출하기도 하고,독립적인 씬끼리 시그널로 연결하는 등다양한 사용례가 등장합니다. "자식 노드쪽에서 부모 노드 쪽을 접근할 때 시그널을 사용하라"도 맞는 말이지만,"자식 노드쪽에서 부모 노드 쪽으로 직접 접근(참조)하지 마라"의 느낌으로 강조를 해드리고 싶습니다.감사합니다!
- 0
- 2
- 130




