作者NDark (K1下次要买摇滚区)
看板GameDesign
标题Re: [请益] 游戏中中文显示的问题
时间Sun May 17 14:26:39 2009
※ 引述《CatOnMars (wait)》之铭言:
: 各位好^^
: 几个问题请教:
: 1.游戏中的中文显示:
: 日前使用了HGE 1.81版,发现他只支援英文跟
: 一些符号,请问各位有HGE有支援中文的的版
: 本吗?
: 2.文字显示效率问题:
: HGE显示文字是先将TrueType字型先输出成图档
: 再用一个Table去将ASCII对应到图档中的文字.
: 这样子作速度会比直接用DirectX里的IFont介面
: 输出字型快吗?
: 另外如果要用类似HGE的方式实做中文字型显示
: 因为中文字实在很多,一张texture应该存不完,
: 如果要分割成几张图的话有没有建议的texture
: 单位大小(512*512如何)?
: 以上希望各位不吝指教
: 谢谢.
我没用过HGE.
我用OpenGL做这件事.不过DX应该也有类似的作法.
印成图档再去抓区块只能对英日这种字母数少的来做.
中韩等方块字比较常用以下这种方法.
(我去年底survey时并没有发现其他比较新比较通用的作法,
也许是一些函式库都已经把这块当做底层包好了)
作法是利用Windows的函式CreateFont($)( ... )去利用
系统内已经有的字型(例如新细明体)透过
函式wglUseFontOutlines( ... )创造该"字"的3D外观.
把此3D外观做成Display List传到显示卡中.
当要画这个字的时候就呼叫这个字的List id.
假如用Orthogonal的视角.3D字型显示出来就跟印字一样
(因为是向量,放大後也没有图档放大有锯齿的问题).
简单来讲就是如此.
复杂一点,当然整个印字函式库作起来也可以很有效率.
(常用的中文字大概就五六万个,所以其实也是有限的)
--
"May Balance be with U"(愿平衡与你同在)
欢迎参观 NDark的网站
http://vision.twbbs.org/~ndark/
NDark的MSN LIVE
http://ndark.spaces.live.com/
*最新期待游戏:
Empire : Total War
*最新专案 : 代客
拼图宣传区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.96.77.176
1F:→ NDark:btw,这方法自2003年就有了.我只是照抄而已... 05/17 14:29
2F:→ Splash5:常用字大概一万多 05/17 14:40
3F:推 darkflier:之前帮游戏中文化...就是用最老的方法 05/17 18:50
4F:→ darkflier:就是存成单张图档...没为什麽 因为这样最简单 05/17 18:51
5F:→ darkflier:那款游戏全世界应该有卖到30万套...虽然做的不是很好XD 05/17 18:52