cocos2dx入門一之引擎初始化
來源:互聯網
上載者:User
代碼執行流程:Cocos2dxRenderer.onSurfaceCreated()-> Cocos2dxRenderer.nativeInit()->main.cpp.Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit()->CCApplication.run()->AppDelegate.applicationDidFinishLaunching()->CCDirector.runWithScene()說明:CCApplication.run()->AppDelegate.applicationDidFinishLaunching()這個過程實際上相當於 AppDelegate .run()->AppDelegate.applicationDidFinishLaunching()因為AppDelegate是CCApplication的子類,而且CCApplication持有一個靜態單例對象,所以,只要AppDelegate被初始化,CCApplication就持有了一個AppDelegate的對象因此main.cpp.Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit()方法中的這兩句代碼:AppDelegate *pAppDelegate = new AppDelegate(); CCApplication::sharedApplication()->run();就相當於:AppDelegate *pAppDelegate = new AppDelegate(); pAppDelegate->run();說實話AppDelegate *pAppDelegate = new AppDelegate(); CCApplication::sharedApplication()->run();這種寫法確實很讓人費解。轉帖:http://blog.csdn.net/yixiaoqingyuz/article/details/8373887