CCDirector与CCEGLView、AppDelegate产生关系图
cocos2d-x框架创应用类、视图类、导演类顺序示意图如下:
从图中可以总结如下:
1) cocos2d-x框架创建AppDelegate单例对象;
2) cocos2d-x框架创建CCEGLView单例对象,注册win窗口类和win窗口过程回调函数
3) cocos2d-x框架在CCEGLView类的win窗口过程回调函数中(处理窗口第一次显示消息),创建了CCDirector类对象。并初始化了CCDirector类各种管理功能(包括调度器、动作管理器、内存释放池等)。
4)cocos2d-x框架的AppDelegate的run函数,调用applicationDidFinishLaunching()入口,完成界面元素的创建,包括创建场景、初始化场景各个元素。
5)cocos2d-x框架的AppDelegate的run函数,按照默认帧频率循环调用CCDirector::sharedDirector()->mainLoop(),不断地显示win窗口。
至此这个应用程序的初始化流程完毕。现场的分析调试,在bombing课堂。