Cocos2d-x 各类bug解决方案总集

来源:互联网 发布:广西直销软件开发 编辑:程序博客网 时间:2024/04/29 22:49
Cocos2d-x 各类bug解决方案全集

这里面将包括我在使用Cocos2d-x开发游戏时,遇到的所有比较罕见且重要的bug的解决方案。

  1. Cocos2d-x 2.0.4版本的CCBReader代码,在xCode 4.6版本编译后,读取ccbi文件出错。原因是xCode 4.6版本编译使用的ARM指令集,在内存对齐这块有点特殊。解决方法:将readHead(),readFloat()函数中强制转换成float*代码注释掉,使用unsigned char*去保存地址。
    参考帖子:http://www.cocos2d-x.org/boards/6/topics/18183

  2. Cocos2d-x 2.0.4版本的android项目工程搭建后,无法在模拟器中调试。主要原因有两点:
    1.模拟器没有开启使用GPU Emulation。
    2.android版本Cocos2d-x,检查模拟器是否支持OpenGLES 2.0的代码有点问题。
    对应解决方法:
    1.开启GPU Emulation功能,在新的模拟器(我的是基于Android4.2版本的模拟器)中关于GPU的所有设置改为了【Use Host GPU】复选框。旧模拟器的好像在硬件设置里面直接能找到GPU Emulation设置。
    2.在Cocos2dxActivity.java的onCreateView()函数的
    gLSurfaceView.setCocos2dxRenderer(new Cocos2dxRenderer());
    代码之前加入一行新代码
    gLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);
    具体新加的代码什么含义本人不清楚(本人大学一直学的DirectX,没有摸过OpenGL,以后肯定要买点OpenGL的经典原著看看)。
    参考帖子:http://www.cocos2d-x.org/boards/6/topics/12563

  3. 当使用ndk-r8d版本,且使用eclipse编译代码C++代码的时候,可能会报出error: cant run because this: APP_PLATFORM android-9 is larger than android:minSdkVersion 8 in AndroidManifest.xml.其实这只是个NDK的警告,但是eclipse却把它作为error处理。解决方法:在eclipse的项目【C/C++ Builder】中的build命令中追加NDK_NO_WARNINGS=1
    参考帖子:http://quirkygba.blogspot.com/2012/11/two-problems-with-android-ndk-r8c.html

  4. 在使用eclipse的CDT(C++ Development tools)编译时,可能会出现提示please define NDK_ROOT,并且不能运行程序。
    解决方法:右击项目-》【Property】-》【C/C++ Builder】-》【environment]中添加一个环境变量:name:NDK_ROOT,value:你的ndk根路径
    参考帖子:http://www.cnblogs.com/young40/archive/2012/10/19/cocos2d-x-mac-os-x-android-xcode-ios-development-setup.html
原创粉丝点击