打开上一篇博客中的HelloWorld工程后,会看到下图所示的工程文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include
"main.h"
"AppDelegate.h"
"cocos2d.h"
//命名空间
USING_NS_CC;
int
APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
nCmdShow)
{
//表示lpCmdLine、nCmdShow是两个没用的参数
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
//定义一个app对象
AppDelegate app;
//执行app对象的run函数。进入帧循环
return
Application::getInstance()->run();
}
|
main.cpp中的代码只是实现了下面的操作
1、定义一个App对象
5、执行App对象进入帧循环
注释:其中程序中真正重要的是最后一行代码中的run函数,run函数在后面的游戏开发中起到了至关重要的作用
AppDelegate.cpp文件中的代码(本人已经注释了)
"AppDelegate.h"
"HelloWorldScene.h"
USING_NS_CC;
//构造函数
AppDelegate::AppDelegate() {
}
//析构函数
AppDelegate::~AppDelegate()
{
}
//程序启动完成后会进入的函数
bool AppDelegate::applicationDidFinishLaunching() {
//初始化导演
auto director = Director::getInstance();
//获得OpenGL视图
auto glview = director->getOpenGLView();
//如果没有获取OpenGL视图
if
(!glview)
{
//创建OpenGL视图
glview = GLView::create(
"My Game"
);
//设置OpenGL视图
director->setOpenGLView(glview);
}
//设置是否显示调试信息
director->setDisplayStats(
true
);
//设置帧率
director->setAnimationInterval(
1.0
/
60
);
//调用场景
auto scene = HelloWorld::createScene();
//执行场景
director->runWithScene(scene);
return
true
;
}
void
AppDelegate::applicationDidEnterBackground() {
//停止播放动画
Director::getInstance()->stopAnimation();
//暂停播放背景音乐
//SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
}
AppDelegate::applicationWillEnterForeground() {
//播放动画
Director::getInstance()->startAnimation();
//继续播放背景音乐
//SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
}
|