cocos2d-x的源码分析由这章开始,希望大家在看这篇博文之前,对cocos2d-x有一定的了解,或者做过一些小demo,这样才能更好地了解到这篇文章所说的一些问题
分析现在开始
cocos2d-x程序的入口根据平台的不同而有所区别,但是游戏的入口均是
//main.cpp
...
...
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
...
AppDelegate app;
...
return CCApplication::sharedApplication()->run(); //游戏入口
}
显然,run就是游戏的开始
不过在run之前程序定义了AppDelegate的一个对象app,这个类的对象在整个程序仅有一个,其实app就是游戏本身。
翻看AppDelegate.h可以发现,AppDelegate是CCApplication的子类,里面的函数也不算太多
我们这里详细说说applicationDidFinishLaunching()
//AppDelegate.cpp
...
...
bool AppDelegate::applicationDidFinishLaunching() {
...
pDirector->setDisplayStats(true);