cocos2d_x 问题汇总

1.生成so文件时,报“No rule to make target ”错误

解决方法:将.\xxx[appname]\proj.android\obj\local\armeabi\objs中的文件全部删除即可

 

2.生成so文件时,报"multiple definition"错误

解决方法:检查Andriod.mk文件是否写了多遍同一个cpp文件

 

3.cocos2d_x 多线程头文件路径

在cocos2dx   pthread.h的位置是在 include“pthread/pthread.h”这样再win32下的确可以编译但是要交叉编译到安卓的时候就出错了,原因是linux自带pthread但是路径pthread/pthread.h 找不到。

解决方法:把 include“pthread/pthread.h 改为 include“pthread.h 即可通过编译。

 

4.Andriod 联网模块连不上网

解决方法:在AndroidManifest.xml文件中添加网络权限<uses-permission android:name="android.permission.INTERNET"></uses-permission>

 

5.移植屏幕自适应

解决方法:在方法bool AppDelegate::applicationDidFinishLaunching()中添加

pEGLView->setDesignResolutionSize(800, 480, kResolutionExactFit);

800x400表示实际背景图片的大小

 

6.在进行Cocos2d-x开发Android游戏的时候,经常会遇到的一个问题就是返回键和菜单键的处理!

解决方法:

1.在layer中调用:

[java] view plaincopy
 
  1. setKeypadEnabled(true);  


2.在layer中重写以下两个方法:

 

[html]
 
  1. virtual void keyMenuClicked();  
[html]
 
    1. virtual void keyBackClicked();  

 

7.cocos2dx API文档 http://www.cocos2d-x.org/wiki/Reference

 

8.cocos2d-x 字体描边CCRenderTexture glBlendFunc

http://blog.sina.com.cn/s/blog_a502f1a30101hvh7.html

 

9.Jni完整教程

http://jiangwenfeng762.iteye.com/blog/1500131

 

10.Andriod相关内容

http://secyaher.blog.163.com/blog/static/3895577201111275423382/

 

11.在Andriod线程中,使用handler句柄报错

必须添加Looper.prepare Looper.loop

 

12.Andrord sd文件存储

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

FILE *fp = fopen("/mnt/sdcard/xxx.xxx", "rb+");
//此时就可以了,切记根目录前缀:/mnt/sdcard/ 指代sd卡的根目录

 

13.Tile map 绘制的地图有黑线

在AppDelegate::applicationDidFinishLaunching方法中添加
pDirector->setProjection(kCCDirectorProjection2D);
最后添加即可

 

14.cocos2d-2.1rc0-x-2.1.2 到 cocos2d-x-2.2.1移植

基本都一样,但proj.android中的main.cpp不一样了,需要注意

 

15.eclipse 移植cocos2d-x工程 报错: Program "bash" is not found in PATH

1、把cygwin/bin加入系统环境变量Path下

2、右击工程-->properties-->C/C++ Build  确认右边视图选项Build command:ndk-build

3、右击工程-->properties-->C/C++ Build -->ToolChain Edit
   确认右边视图的选项:Current toolchain:No Toolchain
                                           Current Builder:Android Builder    (如果还是不行,可以换成Gnu Make Builder试试)

 

16.cocoStudio 的UI编辑器内存泄露,添加代码

GUIReader::shareReader()->purgeGUIReader();
DictionaryHelper::shareHelper()->purgeDictionaryHelper();
ActionManager::shareManager()->purgeActionManager();

  

17.CCClippingNode 不工作

for iOS:
in AppController replace the gl-view creation with:


    EAGLView *__glView = [EAGLView viewWithFrame: [window bounds]
                                     pixelFormat: kEAGLColorFormatRGBA8
                                     depthFormat: GL_DEPTH24_STENCIL8_OES
                              preserveBackbuffer: NO
                                      sharegroup: nil
                                   multiSampling: NO
                                 numberOfSamples: 0];


for Android:
in game activity:


    public Cocos2dxGLSurfaceView onCreateView() {
        Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
        glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);
        return glSurfaceView;
    }

  

 

 

 

待续

posted @ 2013-10-15 15:16  何卫  阅读(2236)  评论(0编辑  收藏  举报