【玩转cocos2d-x之十七】cocos2d-x中文显示

【玩转cocos2d-x之十七】cocos2d-x中文显示,第1张

概述原创作品,转载请标明:http://www.voidcn.com/article/p-fjxeucca-ep.html cocos2d-x的中文显示其实就是一个UTF-8编码在作怪而已,一种简单的方法就是把文本保存为UTF-8编码即可(注意不是UTF-8 + BOM),建议使用UE,Sublime Text或者EditPlus之类的本文编辑器。这里介绍另一种方法:通过读取xml文件显示中文,这种方

原创作品,转载请标明:@H_404_4@http://www.jb51.cc/article/p-fjxeucca-ep.html


cocos2d-x的中文显示其实就是一个UTF-8编码在作怪而已,一种简单的方法就是把文本保存为UTF-8编码即可(注意不是UTF-8 +BOM),建议使用UE,Sublime Text或者EditPlus之类的本文编辑器。这里介绍另一种方法:通过读取xml文件显示中文,这种方法更利于软件的国际化,demo顺便实现了中英文切换。


1.xml文件

先写好一个xml文件(CHN_Strings.xml)。注意记得要以UTF-8编码保存。格式很简单,一个key对应一个string的键值对。如下:

[HTML]@H_404_4@ view plain copy @H_419_49@ <dict> key>language</> string>English>username>偶尔e网事>website>CSDN博客:http://blog.csdn.net/jackystudio>


2.通过CCDictionary读取xml

CCDictionary是利用哈希表算法来进行CCObject管理的一个类。这里不再对它的API及内部实现进行说明了。

2.1.创建词典类实例

[cpp]@H_404_4@ copy CCDictionary*chnStrings=CCDictionary::createWithContentsOffile("CHN_Strings.xml");
2.2.通过键(key)获取值(value)

copy constchar*username=((CCString*)chnStrings->objectForKey("username"))->m_sstring.c_str();
2.3.使用value

copy cclabelTTF*pLabel=cclabelTTF::create(username,"Arial",24);//这里创建一个文本 pLabel->setposition(ccp(origin.x+visibleSize.wIDth/2,origin.y+visibleSize.height-pLabel->getContentSize().height)); this->addChild(pLabel,1);


3.效果

这里我用了2个xml,一个是中文,一个是英文,设置了一个菜单,点击即可调用不同的xml进行中英文的切换,效果如下图。


4.源码下载

http://download.csdn.net/detail/jackyvincefu/6442201

总结

以上是内存溢出为你收集整理的【玩转cocos2d-x之十七】cocos2d-x中文显示全部内容,希望文章能够帮你解决【玩转cocos2d-x之十七】cocos2d-x中文显示所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1065411.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存