[cocos2d-x] --- 完美解决中文乱码
来源:互联网 发布:测外网端口 编辑:程序博客网 时间:2024/05/16 11:56
2013-05-28 01:35 357人阅读 评论(0) 收藏 举报
目录(?)[-]
- Cocos2d-x学习交流群140326755 Email hahayacodergmailcom
Cocos2d-x学习交流群:140326755
Email : hahayacoder@gmail.com
一 介绍
最近由于各种各样的原因,好长时间没有学习cocos2d-x了。突然有种害怕的感觉,这样下去,以前学的关于cocos2d-x的一点皮毛会彻底忘记的,下次再学,估计又得重头开始了。所以,还是要平时多多使用吧,持之以恒最重要了...
由于在cocos2d-x中直接使用中文会出现乱码,谁让cocos2d-x是由cocos2d而来,而cocos2d这东西是老外写的呢?通常解决中文乱码有两种方法:
(1)使用iconv库,cocos2d-x中提供了这个库,但是只是在win32平台,当程序移植到Android等平台时,需要自己下载iconv库编译。
(2)将中文字符串写到XML文件中(注意XML文件格式保存为UTF-8),然后解析XML文件,格式可以仿照Android中的strings.xml,而且这种方法能方便以后的国际化。
通过比较,可以很容易的发现第二种方法更好,那么下面就介绍第二种方法,让我们能在cocos2d-x程序中使用中文,彻底解决中文乱码问题。
二 实现
1 新建XML文件,按照一定的格式,输入相应要显示的中文,最后一定需要使用UTF-8格式保存文件
- <dict>
- <key>Hello</key>
- <string>你好!</string>
- <key>Info</key>
- <string>我是hahaya。</string>
- </dict>
2 代码实现
- /** 在cocos2d-x中使用中文 **/
- //利用CCDictionary来读取xml
- CCDictionary *strings = CCDictionary::createWithContentsOfFile("strings.xml");
- //读取Hello键中的值 objectForKey根据key,获取对应的string
- const char *hello = ((CCString*)strings->objectForKey("Hello"))->m_sString.c_str();
- //读取Info键中的值
- const char *info = ((CCString*)strings->objectForKey("Info"))->m_sString.c_str();
- //显示
- CCLabelTTF *labelHello = CCLabelTTF::create(hello, "Arial", 24);
- labelHello->setPosition( ccp(size.width / 2, size.height - 50) );
- this->addChild(labelHello, 1);
- CCLabelTTF *labelInfo = CCLabelTTF::create(info, "Arial", 30);
- labelInfo->setPosition( ccp(size.width / 2, size.height - 100) );
- this->addChild(labelInfo, 1);
3 程序运行效果
- [cocos2d-x] --- 完美解决中文乱码
- [cocos2d-x] --- 完美解决中文乱码
- [cocos2d-x] --- 完美解决中文乱码
- [cocos2d-x] --- 完美解决中文乱码
- [cocos2d-x] --- 完美解决中文乱码
- [cocos2d-x] --- 完美解决中文乱码
- [cocos2d-x] --- 完美解决中文乱码
- [cocos2d-x] --- 完美解决中文乱码
- [cocos2d-x] --- 完美解决中文乱码(测试通过)
- cocos2d-x解决中文乱码
- cocos2d-x解决中文乱码问题
- cocos2d-x中中文乱码解决
- 解决cocos2d-x 中文乱码的问题
- cocos2d-x中中文乱码解决
- cocos2d-x 3.2 LabelTTF 解决中文乱码
- cocos2d-x 中文乱码
- cocos2d-x解决中文乱码问题的几种办法
- cocos2d-x解决中文乱码问题的几种办法
- C++第16周项目2 -挂科的不进新名单
- Jacob操作Word书签
- 中篇美国人经营之道 二让顾客参与进来形成互动
- HDOJ_2013蟠桃记(数学归纳) 解题思路总结
- [cocos2d-x] --- 实现Dota技能冷却效果
- [cocos2d-x] --- 完美解决中文乱码
- 沃尔玛收购大数据公司Inkiru 在线业务增加砝码
- 对Linux内核中进程上下文和中断上下文的理解
- C++第16周项目3 -电子词典
- 传智播客asp.net基础视频免费分享
- ExtJS两个grid用同一个store显示不同的数据
- 学习CSS布局
- 实用在线工具资源整理
- 年轻时不做会后悔的8件事