首先,在main.cpp中会先执行
AppDelegate app;
CCEGLView* eglView = CCEGLView::sharedOpenGLView();
//设置窗口名
eglView->setViewName("Hoooooo");
//设置窗口大小
eglView->setFrameSize(480, 320);
int ret = CCApplication::sharedApplication()->run();
随后运行
bool AppDelegate::applicationDidFinishLaunching()
{
//初始化设置导演
CCDirector *pDirector = CCDirector::sharedDirector();
pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());
//开启FPS模式
pDirector->setDisplayStats(true);
//设置FPS. 默认是60帧
pDirector->setAnimationInterval(1.0 / 60);
//创建一个场景 把HelloWorld的场景指针指向来
/
// 在类HelloWorldScene.h中 HelloWorld 写了 static cocos2d::CCScene* scene();用于来 得到场景指针。
//
// HelloWorld本身继承了cocos2d::CCLayer 在 HelloWorldScene.cpp的 HelloWorld::scene()的实现中,HelloWorld本身就添加到场景中通过:
// HelloWorld *layer = HelloWorld::create();
// scene->addChild(layer);
//
// 其中layer是一个自动释放的对象,原因在于HelloWorld::create();就在是 CREATE_FUNC(HelloWorld);中定义的.
// 宏CREATE_FUNC(__TYPE__)会设置其自动释放内存,方便内存管理,不需要手动去释放
//
/
CCScene *pScene = HelloWorld::scene();
//导演运行这个场景
pDirector->runWithScene(pScene);
return true;
}
下来的添加操作就是在HelloWorld的这个layer图层中进行的了。
在各个平台上面都是这样,比如android,是通过在一个activity(继承自cocos2dactivity),中开始进入c接口,然后开始通过代理加载。