Cocos2d-x里面的HelloCpp项目不显示文字(或中文出现乱码)--解决方案
来源:互联网 发布:网络监管员是做什么的 编辑:程序博客网 时间:2024/04/30 09:26
一、今天在Cocos2d-x交流群中,有人发问说新下载的Cocos2d-x中的Demo(即HelloCpp.sln)编译运行时,标签上的文字不显示(如下图),就特意研究了下,现列出以下解决方案:
1.如果你的引擎版本是Cocos2d-x 2.x,则可以这么修改:
方案一:打开文件夹cocos2dx\platform\win32\CCImage.cpp文件,按Ctrl+F快捷键查找:m_hBmp = CreateBitmap(nWidth, nHeight, 1, 32, NULL);
1)将m_hBmp = CreateBitmap(nWidth, nHeight, 1, 32, NULL);
替换成 :
m_hBmp = CreateCompatibleBitmap(m_hDC, nWidth, nHeight);
2)再查找
GetDIBits(dc.getDC(), dc.getBitmap(), 0, m_nHeight, m_pData, (LPBITMAPINFO)&bi, DIB_RGB_COLORS);
在这句代码之前,添加:
bi.bmiHeader.biBitCount = 32;
方案二:出现这种情况,其根本原因在于你的系统颜色配置有问题
打开你的颜色管理面板,设置颜色选项:真彩色(32位)
右键单击桌面->选择“屏幕分辨率”->“高级设置”->“监视器”选项卡->颜色(C):选择“真彩色(32位)”->单击“确定”,OK。
重新编译运行,如图:
2.如果你的引擎版本是Cocos2d-x 3.x,就不要去修改代码了,因为3.x版本与之前的2.x版本差别还是比较大的,重写了很多方法,封装的更加完备,即使你找到CCImage.cpp文件(\cocos\platform\CCImage.cpp),里面也没有
m_hBmp = CreateBitmap(nWidth, nHeight, 1, 32, NULL);
所以,建议不要修改源代码。
解决方案:参见上面2.x版本的方案二,更改你的系统色彩渲染位。
二、LabelTTF标签上的中文字体显示乱码问题,如图:
出现上述情况,是由于引擎默认编码格式是:简体中文(GB2312)-代码页 936 ,为有格式编码。
解决方案1:参见博客--http://blog.csdn.net/m_leonwang/article/details/17586775
--http://blog.itpub.net/14466241/viewspace-752027/
解决方案2:一种较为简便的方法
打开你的项目工程->选择含有汉字的文件,比如:HelloCPP.cpp->单击“文件”菜单->选择“高级保存选项(V)”->编码选项,选择“Unicode(UTF-8无签名)-代码页 65001”->单击“确定”,OK。
重新编译运行,如图:
- Cocos2d-x里面的HelloCpp项目不显示文字(或中文出现乱码)--解决方案
- JSP或servlet中(以及上传下载文件)中文乱码或不显示的解决方案
- Cocos2d-x学习笔记(一)HelloCpp的来龙去脉
- cocos2d-x android HelloCpp 遇到的问题。
- cocos2d-x 2.1开发中有关中文乱码的解决方案
- Cocos2d-x win32显示中文乱码解决方法
- cocos2d-x win32显示中文乱码解决方法
- FusionCharts V3画图中文不显示或乱码的问题
- iReport5.6中文PDF不显示或乱码的解决方法
- cocos2d-x 中文显示问题的解决方案 (自己封装一个类一次编写终身无忧)
- Eclipse 运行awt/swing 项目出现中文乱码的解决方案
- javaweb项目出现中文乱码问题的解决方案。
- Xshell终端显示中文出现乱码解决方案
- GTK中文显示出现乱码解决方案
- cocos2d-x的中文显示
- HTML中文不显示或乱码
- Cocos2d-x VS2012 HelloCpp调试
- COCOS2D-X VS2012 HELLOCPP调试
- 什么是项目管理
- 兮°不要忽略Android中@id与@+id区别噢
- java的list用法
- arcgis图层叠加不匹配
- 什么是COM组件
- Cocos2d-x里面的HelloCpp项目不显示文字(或中文出现乱码)--解决方案
- Unix/Linux下的/etc目录
- ARM QT移植详细步骤教程
- SQL面试常见问题处理:查询和删除重复记录
- Nand ECC校验和纠错原理及2.6.27内核ECC代码分析
- Android:PendingIntent的FLAG_CANCEL_CURRENT和FLAG_UPDATE_CURRENT
- 自己写一个MVC框架
- 1_顺序表基本操作
- phonegap push-消息推送实现