第二次整理这个类,感觉思路清晰了很多,当初还是太菜了。
Application 继承于 ApplicationProtocol ,且平台相关。
变量分析:
这个类很奇葩,居然在不同的平台文件中的变量居然不一样,但是共有的只有一个变量
static Application * sm_pSharedApplication;
当前的 Application 静态实例指针,全局只会存在一个。
其他比较特殊的一个变量是:
std::string _startupScriptFilename;
全局都找不到引用的地方,只有一个设置和获取方法,名字表面意思是脚本的启动脚本名。但是Android中居然不包含该变量,这确实很纠结。
其他不做介绍、基本上都是平台相关的,和引擎本身功能相关不大。
方法分析:
Application();
构造函数,作为一个单实例的构造函数就不应该开放接口,将 sm_pSharedApplication 初始化,指向当前对象。
virtual ~Application();
析构函数,将 sm_pSharedApplication 设置为 NULL
int run();
该函数为整个游戏的真正的入口,启动渲染循环,控制帧率和一些初始化。调用 applicationDidFinishLaunching 对