解决cocos2dx在Windows平台中文乱码问题

在使用cocos2dx 的label标签做菜单时候,想给菜单中文名称,但是运行后出现的是乱码问题,这个问题在cocos2dx的版本都存在。解决此类问题最直接的方法是使用图片菜单来解决,当然我们这次是非要用label文字来解决。
中文乱码测试代码:
//创建label标签菜单 auto label_gameplay = LabelTTF::create("开始游戏", "fonts/Marker Felt.ttf", 24); auto label_gameset = LabelTTF::create("游戏设置", "fonts/Marker Felt.ttf", 24); auto label_gamequit= LabelTTF::create("退出游戏", "fonts/Marker Felt.ttf", 24); //设置菜单坐标位置 label_gameplay->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height/2+100)); label_gameset->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + label_gameplay->getPositionY()-50)); label_gamequit->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + label_gameset->getPositionY()-50)); //添加进图层 this->addChild(label_gameplay); this->addChild(label_gameset); this->addChild(label_gamequit);
使用此代码运行后,就会看到我们所谓的乱码界面了。
下面我们就使用读取xml配置文件的方式来解决此问题。首先我们在我们的资源目录Resources里创建一个xml文件,我们把它命名为“zhongwen.xml”。然后按照一定的格式写入数据。
xml文件代码案例:
<?xml version="1.0" encoding="utf-8"?> <plist version="1.0"> <dict> <key>gameplay</key> <string>开始游戏</string> <key>gameset</key> <string>游戏设置</string> <key>gamequit</key> <string>退出游戏</string> </dict> </plist>
使用xml键值对的形式来存储我们的游戏文字,这样我们读取相应的key键就可以得到我们想要的value值。
我们用cocos2dx给出的Dictionary这个类提供的方法来操作。
1、首先加载我们的xml配置文件。
Dictionary *strings = Dictionary::createWithContentsOfFile("zhongwen.xml"); //加载xml文件
2、然后查找xml文件的key键
const char *gameplay=((String*)strings->objectForKey("gameplay"))->getCString(); //查找xml文件key值 const char *gameset=((String*)strings->objectForKey("gameset"))->getCString(); //查找xml文件key值 const char *gamequit=((String*)strings->objectForKey("gamequit"))->getCString(); //查找xml文件key值
3、label标签实现中文匹配
auto label_gameplay= LabelTTF::create(gameplay,"fonts/Marker Felt.ttf", 24); auto label_gameset= LabelTTF::create(gameset,"fonts/Marker Felt.ttf", 24); auto label_gamequit= LabelTTF::create(gamequit,"fonts/Marker Felt.ttf", 24);
到此我们就可以来测试运行我们的程序了,看看我们的解决结果。
到此中文乱码的问题就解决了,当然还有其他解决方案,不过我觉得还是这个方法最简单。哈哈,天冷了,就不多说了,说多了就暴露了。
本文作者:闭眼就天黑
文章标题: 解决cocos2dx在Windows平台中文乱码问题
本文地址:https://www.byjth.com/biji/39.html
版权声明:若无注明,本文皆为“闭眼就天黑专栏_技术博客_个人学习总结”原创,转载请保留文章出处。
本文地址:https://www.byjth.com/biji/39.html
版权声明:若无注明,本文皆为“闭眼就天黑专栏_技术博客_个人学习总结”原创,转载请保留文章出处。
相关文章
- cocos2dx网游选服界面制作三:服务器单个item界面包装
- Cocos2dx学习笔记6:层(Layer)
- cocos2dx网游选服界面制作一:界面需求分析
- Cocos2dx学习笔记10:cocos2dx序列帧动画(1)
- Cocos2dx学习笔记3:基础概念介绍
- cocos2dx shader绘制摆动的小草
- Cocos2dx学习笔记11:cocos2dx调度器(scheduler)
- Cocos2dx学习笔记1:创建游戏项目解决方案
- cococs2dx打包ios报错_ossl_connect_common in libcocos2d ios.a(libcurl_la-openssl.o)
- 【游戏跨平台】移植cocos2dx的android项目到IOS平台
版权所有:《闭眼就天黑专栏_技术博客_个人学习总结》 => 《解决cocos2dx在Windows平台中文乱码问题》
本文地址:https://www.byjth.com/biji/39.html
除非注明,文章均为 《闭眼就天黑专栏_技术博客_个人学习总结》 原创,欢迎转载!转载请注明本文地址,谢谢。