cocos2dx各平台的入口

    xiaoxiao2021-12-14  19

    先说IOS平台:一般存放在IOS文件夹下,入口是main函数,在其中加载

    AppController,这个类完成了IOS平台的环境初始化,大部分代码都是ios平台的代码,与cocos2d-x相关的只有两句:

    static AppDelegate s_sharedApplication;   cocos2d::CCApplication::sharedApplication().run();  

    CCApplication是一个单例的类,而sharedApplication是其全局访问方法,获得其实例。AppDelegate私有继承CCApplication类,隐藏接口。

    AppController.mm一开始定义一个static的AppDelegate就是要定义一个CCApplication的实例,然后调用run函数,看这个函数

    int CCApplication::run()   {       if (applicationDidFinishLaunching())        {           [[CCDirectorCaller sharedDirectorCaller] startMainLoop];       }       return 0;   }  调用applicationDidFinishLaunching()函数,这个由AppDelegate实现,从此程序进入coco2d-x引擎部分,后续就与平台无关了,都是c++实现。 Android: 安卓部分比较简单,就是Java通过Jni调用C++实现。入口在AppActivity,继承自Cocos2dxActivity。

    cocos2d-x中,一个完整的android游戏分两部分,cocos2d-x库和Java部分,说白了就是C++部分和Java部分,默认的Java部分是固定好了的,一般不需要自己再修改,跟编译一般的android应用一样,用Eclipse就可以。C++部分就是用cocos2d-x实现游戏的部分,这部分需要用NDK来编译成动态链接库。C++部分跟ios下的C++部分完全一样。

    
    转载请注明原文地址: https://ju.6miu.com/read-969900.html

    最新回复(0)