GameDesign 板


LINE

今天有多研究一下DxLib如何在中文環境下作業。 還好有一定成果,趁現在把步驟寫一寫。 DxLib一直有一個問題,就是在非日文原生環境下,VS有char和TCHAR轉換的issue, 還有header不是unicode編碼編成。 如果不使用日文原生環境(OS+IDE都要是原生日文介面)和使用多位元組字元集編譯的話, 會發生照範例寫但compile不過去的事情,以及查詢DxLib所屬function上的困難。 之前一直都架設獨立環境去build, 現在找到解法後,對於我這個沒什麼程式語言概念的人最少會有一點幫助。 最少不用花時間去建構日文環境。 以下內容會顧慮到初接觸DxLib的程式語言新手,所以步驟會從頭開始寫。 ======================================================= 使用IDE: Visual Studio 2015 community(記得要安裝VC++套件) OS: Windows 7 SP1以上(VS安裝必備條件) 1. 先到DxLib官網下載套件。 http://dxlib.o.oo7.jp/dxdload.html 裡面選擇VC++用,然後找地方執行解壓縮。 2. (建議執行,對於在IDE中查function會比較方便) 找工具將解壓縮後得到的所有header和文字檔全部轉成UTF-8編碼。 我個人是使用ConvertZ,因為他可以做批次轉換。 3. 開啟VS,開啟「Win32空專案」或自己再建立一個。 4. 在project有cpp檔的狀態下, 對方案總管的project檔按滑鼠右鍵選擇「屬性設定」。 5. 在屬性設定內,將組態切到「所有組態」,平台切到「所有平台」, 然後照以下指示進行設定。 一般 → 字元集 : 「使用Unicode字元集」 C/C++ → 一般 → 其他include目錄 : 找到剛剛解壓縮DxLib的位置, 點進去找到「プロジェクトに追加すべきファイル_VC用」這個資料夾。 這個是需要include的目錄。 p.s.通常我會手動將資料夾名改成英文。 連結器 → 一般 → 其他程式庫目錄 : 跟上頭步驟的include目錄一樣。 C/C++ → 進階 → 停用特定警告 : 新增4819 (未以Unicode格式儲存程式碼) 這個在純日文環境下不會發生,但在中文環境下我會建議停掉他。 以上步驟做完先進行套用。 6. 將組態切到「Release」,到C/C++ → 程式碼產生, 把執行階段程式庫改為「多執行緒(/MT)」,然後套用。 7. 將組態切到「Debug」, 把執行階段程式庫改為「多執行緒偵錯(/MTd)」,然後套用。 以上,前置作業大功告成。 然後要注意原本程式碼內,函數需要輸入文字的地方, 例如文字輸出系的printfDX還有DrawFormatString系列, 以及LoadGraph等要求檔案位置的函數中,需要使用_T()將文字編碼進行轉換。 ex. DrawFormatString(100, 100, GetColor(255,255,255), "test"); →DrawFormatString(100, 100, GetColor(255,255,255), _T("test")); 以上資訊分享給大家!! --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.49.111
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1479311895.A.CA3.html ※ 編輯: shadowth (218.161.49.111), 11/16/2016 23:59:07
1F:推 Bencrie: 原 po 不研究一下 MS 是怎麼建議你搞 i18n 的? 11/17 00:35
2F:→ Bencrie: 一般來說現在不會直接在程式裡寫死字串常數 11/17 00:37
3F:→ Bencrie: GNU 有 gettext,Android 寫 strings.xml,Qt 用 .qm 11/17 00:41
4F:→ shadowth: 我也是覺得這不是個很智慧的方法 但我也沒能力去改到 11/17 01:02
5F:→ shadowth: 更底層的東西 所以我會先這樣子做... 11/17 01:03
6F:推 tv1239: 啊 第一次看到有人討論DxLib 其實還蠻好當作入門的說QQ 11/18 02:39
7F:→ tv1239: 可是中文的資料量實在是...orz 11/18 02:39
8F:→ shadowth: DxLib畢竟是日本出來的 討論都集中在日本的同人教學站 11/18 14:55
9F:→ shadowth: 然後他的function講好聽點是方便 講難聽點是摸不到底層 11/18 14:56
10F:推 eye5002003: _T()這樣的寫法好古老,我現在都統一用UTF-8了 11/19 12:45
11F:→ eye5002003: 第三方程式想吃寬字元我會轉給它,_T或L這些都不寫了 11/19 12:47
12F:推 johnny94: rabi-ribi 就是用dxlib 弄的 11/19 14:00
13F:推 Bencrie: 突然發現我錯認為單純的 DX,跟第三方的 dxlib 搞錯了 11/19 14:56
14F:→ Bencrie: 是說日本寫的程式似乎都不考慮 i18n,之前弄 PspNetParty 11/19 14:57
15F:→ Bencrie: 的 zh_TW 翻譯也是直接改字串 orz 11/19 14:58







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP