오늘은 ESC 메뉴를 완성하는 날인데... 상태머신으로 창을 전환중이었는데, 전환된 상태의 버튼들에 의해 또 상태가 전환되는 경우가 추가되니까 혼돈이 왔다. 더군다나 기존 상태머신에는 입력을 처리하는 경우를 별도의 메소드 없이 각 상태에서 구현해야했는데, 유튜브 상태머신 관련 영상을 좀 보고 상태머신을 수정했다. 상태머신은 플레이어나 NPC에도 적용되어 있기 때문에 우선은 UI 상태머신만 수정해두었다.
그리고 상태 전환을할때 미친 키 입력이 2번씩 처리되는 사건이 있었는데, 경험상 이건 입력이 Consume되지 않아서인데 Godot에서 입력을 어떻게 Consume하는지 정말 찾기 힘들었다. Claude에 물어보니 답이 나오더라...
get_viewport().set_input_as_handled()
입력을 Consume 해주고나니 처리되었다.
다음은 마우스 커서를 바꿔주었다. Project Settings > 마우스 커서에서 커서 스프라이트를 바꿔주면 된다. 동적으로도 바꿀 수 있는데, 그건...지금은 필요없으니까 스킵!
오늘은 아마도 가장 지루한 날이되지 않을까 싶다. UI의 포커스를 맞춰주고, UI가 보일때 캐릭터 움직임을 막는 작업을 해야한다. grab_focus()를 이용해서 씬이 초기화될때 어디에 버튼 포커스를 맞출지 결정할 수 있다.
진짜 로고씬만을 남겨두고 픽셀노동자 모드로 돌입했다...정말 길고 지루한시간...
그래도 애니메이션을 재생하니까 보람차긴하다.
드디어 Export까지 마쳤다. 아이콘 변경이 적용이 안되서 거의 1시간 가까이 삽질했다.
아이콘을 적용하려면 필요한 것 세가지...
1. 한글로 export 하면 아이콘 적용에 실패한다.
2. 문서대로 rcedit을 설치하고, 설치 경로를 Editor 설정에 적용해주어야한다.
3. ico 파일은 16×16, 32×32, 48×48, 64×64, 128×128, 256×256 사이즈를 지원해야한다.
이제 배포만하면된다!
내 인생의 2번째 게임이다.
itch.io까지 등록을하고 다 된줄알았는데, 플레이해보니 왠걸 DialogueManager에서 캐릭터 정보를 불러오질 못한다. 이건 정말 디버깅하기 까다로운게... 테스트할땐 잘되다가 릴리즈빌드에서만 안된다. 차분하게 생각해보자....
원인을 찾았다. Dialogue에서 캐릭터를 불러올때 리소스 파일을 실제 파일시스템에서 찾았는데, (FileAccess) 패키징하고나서는 찾을 수 없으니 오류가 나는 것이었다. ResourceLoader.load를 하고 체크하는 것으로 바꾸었다.
'게임 > 게임개발' 카테고리의 다른 글
[01/24] <어둠속의유산> 4일차 (0) | 2025.01.24 |
---|---|
[01/22] <어둠속의유산> 3일차 (0) | 2025.01.22 |
[01/19] <어둠속의유산> 2일차 (0) | 2025.01.19 |
[01/18] <어둠속의유산> 1일차 (0) | 2025.01.18 |