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

原创作品,转载请标明:http://blog.youkuaiyun.com/jackystudio/article/details/13014883


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] view plain copy
  1. <dict>
  2. <key>language</key>
  3. <string>English</string>
  4. <key>username</key>
  5. <string>偶尔e网事</string>
  6. <key>website</key>
  7. <string>优快云博客:http://blog.youkuaiyun.com/jackystudio</string>
  8. </dict>


2.通过CCDictionary读取xml

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

2.1.创建词典类实例

  1. CCDictionary*chnStrings=CCDictionary::createWithContentsOfFile("CHN_Strings.xml");

2.2.通过键(key)获取值(value)

  1. constchar*username=((CCString*)chnStrings->objectForKey("username"))->m_sString.c_str();

2.3.使用value

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


3.效果

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


4.源码下载

http://download.youkuaiyun.com/detail/jackyvincefu/6442201

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值