Cocos2d-x 3.9教程:6. 文字的显示
来源:互联网 发布:迪杰斯特拉算法讲解 编辑:程序博客网 时间:2024/05/18 23:26
6. 文字的显示
在cocos2d-X中,我们可以用Label来在相应的位置显示字符串,但由于我们在windows下使用VS2013之类的工具时,默认对汉字的处理都是非UTF-8字符的,所以即便我们工程的选项设定为UTF-8,汉字也是无法正常显示的。
如:auto label = Label::createWithTTF("美好的一天", "fonts/abc.ttf", 24);
// position the label on the center of the screen
label->setPosition(Vec2(origin.x + visibleSize.width/2,
origin.y + visibleSize.height - label->getContentSize().height));
// add the label as a child to this layer
this->addChild(label, 1)
字符串"美好的一天",在windows上直接运行时是显示不出来的,因此我们按照网上的处理方式,把字符串先转成UTF-8的,再传入就可以显示出来了。
Windows下GB2312转UTF-8的代码为:
char * G2U(const char* gb2312)
{
int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len + 1];
memset(wstr, 0, len + 1);
MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);
len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len + 1];
memset(str, 0, len + 1);
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);
if (wstr) delete[] wstr;
return str;
}
那么在使用时,代码修改为:
auto label = Label::createWithTTF(G2U("美好的一天"),"fonts/abc.ttf", 24);
一定要注意:但在生成APK文件时,请还原为原来的方式,上面的方法仅针对windows平台VS运行exe时看不到中文的问题!
- Cocos2d-x 3.9教程:6. 文字的显示
- Cocos2d-x 文字显示
- Cocos2d-x 3.2 显示文字的方法
- cocos2d-x 图片文字显示
- cocos2d-x中的文字显示
- cocos2d-x添加显示文字的三种方式
- cocos2d-x在IOS7下面文字显示异常的解决办法
- cocos2d-x在IOS7下面文字显示异常的解决办法
- cocos2d-x在IOS7下面文字显示异常的解决办法
- cocos2d-x在IOS7下面文字显示异常的解决办法
- cocos2d-x在IOS7下面文字显示异常的解决办法
- cocos2d-x学习之添加显示文字
- cocos2d-x学习之添加显示文字
- cocos2d-x 3.2文字显示,添加汉字
- cocos2d-x 3.2 文字显示方法代码
- cocos2d-x 中添加显示文字的三种方式(CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas)
- cocos2d-x 中添加显示文字的三种方式(CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas)
- Cocos2d-x里面的HelloCpp项目不显示文字(或中文出现乱码)--解决方案
- ACM-水题 吃糖果
- Tsinsen A1105 挖地雷
- 二叉树搜索
- Ruby语言基础学习九:Ruby范围、迭代器、
- Spark简介
- Cocos2d-x 3.9教程:6. 文字的显示
- 几种软负载均衡策略分析
- java中使用MongoDB
- 电子商务类网站CDN加速方案
- Nexus 6p刷机官方Rom Android 6.0
- 29.C语言字符串和字符数组
- Android设计模式应用---观察者模式
- CentOS安装中文支持包
- 从关系型数据库到非关系型数据库