• cocos2d_x 问题汇总


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

    解决方法:将.xxx[appname]proj.androidobjlocalarmeabiobjs中的文件全部删除即可

    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;
        }
    

      

    待续

  • 相关阅读:
    [置顶] 图书推荐:SQL Server 2012 T-SQL基础 Itzik Ben-Gan
    UVA1366-----Martian Mining------DP
    动态规划——最长公共子序列(LCS)
    需求分析挑战之旅(疯狂的订餐系统)(3)——背景-需要-需求规格
    JavaScript学习笔记(四十四) 装饰器
    C中的volatile用法
    Java注解Annotation学习
    非常好!讲逻辑回归的,讲得很透彻
    RPC的学习 & gprotobuf 和 thrift的比较
    僵尸进程学习 & 进程状态列表 & Linux信号学习
  • 原文地址:https://www.cnblogs.com/hewei2012/p/3370299.html
Copyright © 2020-2023  润新知