Cocos2d-x 3.0的启动流程

    Cocos2d-x 3.0变动很大,包括启动的方式,我看了下对android的启动总结如下:


    Java方面:


    AppActivity继承Cocos2dxActivity
    Cocos2dxActivity的onCreate函数中加载本地.so
    加载.so的时候会统一到javaactivity.cpp里面寻找JNI_OnLoad等本地接口,来运行本地文件
   其中Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit会cocos2d::Application::getInstance()->run();来执行游戏开始。

   C++方面:
      main.cpp中只负责创建Application实例,从而在上面 cocos2d::Application::getInstance()->run();的时候可以运行

      AppDelegate 继承 Application 
      在Application中的run函数中执行applicationDidFinishLaunching

之前2.版本的时候是直接在main.cpp里面实现javaactivity.cpp的内容,3.0后统一封装到javaactivity.cpp里面了。

其他平台还是在main.cpp里面实现的

现在的疑问是怎么call到Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit的??

今天也是好奇看了下,不对的地方请大家指正!

你可能感兴趣的:(cocos2d-x,android)