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/cn.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灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP