Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

时间:2023-02-08 17:59:41

       demo运行及调试环境:window 7,vs2012;

1、首先打开项目,目录结构如下图所示,main.cpp为程序的主入口函数,AppDelegate.cpp主要是设置窗口和加载demo,AppMacros.h定义了一些分辨率宏,HelloWorldScene.cpp为项目文件。

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

  2、和其他win32应用程序一样,该工程也有个main.cpp文件,vs2012编译并运行main.cpp,

声明AppDelegate app,运行Application.cpp的run函数。

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

 3、run函数启动,调用applicationDidFinishLaunching 函数,此函数来自协议ApplicationProtocol的纯虚函数,只是声明,没有实现方法,此方法在AppDelegate.cpp中实现。

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

 4、AppDelegate为Application的子类,Main.cpp在启动时执行了 Application::getInstance()->run(),子类继承的方法也被调用,AppDelegateapplicationDidFinishLaunching函数被执行,设置一些openGL的数据、资源路径,及加载demo主类。

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

设置demo窗口的尺寸;

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

加载demo主类,实例化demo场景,并将其添加到Dirctor的场景管理器中运行渲染。

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

 调用场景静态方法,实例化层并添加到场景中,该层主要用来做些背景,按钮及文字的显示。

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

 头文件中声明静态方法后,有一个调用layer类的宏CREATE_FUNC,该宏主要用于调用layer的init()方法,进而运行整个demo逻辑。

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程

 init()方法中可以添加自己的逻辑,如背景,按钮,及文字等。编译并运行后结果下图所示;

Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程Cocos2dx-3.1.1 探索之旅02----> 浅析cpp-empty-test运行流程