Learning Cocos2d-x for WP8(4)——中文顯示


C#(wp7)兄弟篇Learning Cocos2d-x for XNA(4)——中文顯示

Cocos2d-x中文顯示,似乎還沒有非常完美的解決方法,一切的根源還是UTF-8編碼問題。

我選擇了CCLabelBMFont結合位圖坐標文件(.fnt)顯示,CCLabelBMFont優於CCLabelTTF是因為CCLabelBMFont每次改變只改變圖片坐標,而CCLabelTTF需要重新渲染。

1.修改.cpp編碼方式

選中.cpp文件,點擊菜單“文件”-〉“高級保存項”,選擇“Unicode(UTF-8無簽名)-代碼頁65001”編碼。

2.制作位圖坐標文件.fnt文件

工具:Bitmap font generator

下載:http://www.angelcode.com/products/bmfont/

使用方法參考:http://blog.csdn.net/runnerx/article/details/6045876中“二. 中文字體定義: Default_Chinese.fontDefinition”

需要注意:

開始創建的中文字符文本文件另保存為編碼格式為“UTF-8”

我添加了中文字符.txt文本文件

3.添加.fnt和.png

完成位圖坐標文件文件制作后,添加到工程項目下Assets文件夾中的fonts文件夾下。

注意.fnt文件屬性中的“包括在項目中”的值為“True”。

4.使用CCLabelBMFont顯示中文

在前面的代碼基礎上添加如下代碼

1     //顯示中文
2     CCLabelBMFont* pLableCN = CCLabelBMFont::labelWithString("國強", "fonts/YaHeiChinese.fnt", CCTextAlignmentRight, 32);
3     pLableCN->setPosition(ccp(s.width / 2, s.height /10));
4     this->addChild(pLableCN);

運行顯示效果

問題

當需要顯示三個中文字符時出錯,似乎單數個字符都會出錯。

顯示四個中文時成功

中文字符.txt文本文件

希望知道原因的朋友指點指點原因。

 

著作權聲明:本文由http://www.cnblogs.com/suguoqiang 原創,歡迎轉載分享。請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM