|
사진 속의 아이콘과 이름(증오의 기사)을 게임 도중에 바꿀 수 있나요? |
■ 질문전 필독!
- 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
- 하나의 게시물에는 하나의 질문만 합니다.
- 제목은 질문의 핵심 내용으로 작성합니다.
- 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
- 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
- 답변받은 게시물은 삭제하지 않습니다.
- 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
- 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!
※ 미준수시 사전경고 없이 게시물을 삭제합니다.

게임 타이틀은 아래와 같이 하면 바뀝니다.
document.title = "바꿀 게임 명";
게임 아이콘 변경은 패키지 파일의 정보에 의존하고 있으며 원래 Windows Application에서의 정석은 SendMessage에 WM_SETICON 메시지와 HICON을 함께 전달하면 바뀌어야 합니다.
https://github.com/chromium/chromium/blob/74da2ec42c110201e9d501fb4809e053697edf0a/ui/views/win/hwnd_message_handler.cc#L885
https://github.com/chromium/chromium/blob/ccd149af47315e4c6f2fc45d55be1b271f39062c/chrome/browser/ui/views/frame/browser_desktop_window_tree_host_win.cc#L438
크로미움 브라우저의 C++ 소스 코드에서도 WM_SETICON 메시지를 주기적으로 보내 다양한 상황에서 아이콘 이미지를 갱신 처리하고 하는 듯 합니다.
https://github.com/nwjs/nw.js/blob/nw45/src/nw_content.cc#L814
NWJS도 마찬가지로 처음 한 번만 아이콘을 이미지로부터 로드하며 내부에 이 아이콘 값을 유지하게 하는 코드가 돌아갑니다.
따라서 임의로 메시지를 보내도 다시 원 상태로 되돌아갈 뿐 소용은 없었습니다.
추가로 자바스크립트를 통해 CSS 상의 정보를 업데이트 해도 아이콘이 반영되지 않았으며 보통의 방법은 통하지도 않는 것으로 확인됩니다.
https://github.com/biud436/MV/raw/master/setAppIcon.js
따라서 아래 setAppIcon 함수처럼 package.json 파일을 동적으로 변경하여 강제로 게임을 재시작하는 것이 가장 쉬운 방법입니다.
setAppIcon("icon/icon2.png");