作者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
→ NDark:btw,這方法自2003年就有了.我只是照抄而已... 05/17 14:29
→ Splash5:常用字大概一萬多 05/17 14:40
推 darkflier:之前幫遊戲中文化...就是用最老的方法 05/17 18:50
→ darkflier:就是存成單張圖檔...沒為什麼 因為這樣最簡單 05/17 18:51
→ darkflier:那款遊戲全世界應該有賣到30萬套...雖然做的不是很好XD 05/17 18:52