#include “cocos2d.h”
USING_NS_CC;
int main(int argc, char *argv[])
{
AppDelegate app;
return Application::getInstance()->run();
}
以上代码我们可以看到,在main.cpp里,通过#include引入了两个头文件,一个是AppDelegate.h、一个是cocos2d.h。
定义了我们程序的入口方法main,通过执行Application::getInstance()->run()方法来运行我们的程序。
接着我们来看AppDelegate.h和AppDelegate.cpp,这里两个文件用于 控制整个游戏的生命周期。
>>>AppDelegate.h
#ifndef APP_DELEGATE_H
#define APP_DELEGATE_H
#include “cocos2d.h”
/**
@brief The cocos2d Application.
The reason for implement as private inheritance is to hide some interface call by Director.
*/
class AppDelegate : private cocos2d::Application
{
public:
AppDelegate();
virtual ~AppDelegate();
/**
@brief Implement Director and Scene init code here.
@return true Initialize success, app continue.
@return false Initialize failed, app terminate.
*/
virtual bool applicationDidFinishLaunching();
/**
@brief The function be called when the application enter background
@param the pointer of the application
*/
virtual void applicationDidEnterBackground();
/**
@brief The function be called when the application enter foreground
@param the pointer of the application
*/
virtual void applicationWillEnterForeground();
};
#endif // APP_DELEGATE_H
>>>AppDelegate.cpp
#include “AppDelegate.h”
#include “CCLuaEngine.h”
#include “SimpleAudioEngine.h”
#include “cocos2d.h”
using namespace CocosDenshion;
USING_NS_CC;
using namespace std;
AppDelegate::AppDelegate()
{
}
AppDelegate::~AppDelegate()
{
SimpleAudioEngine::end();
}
bool AppDelegate::applicationDidFinishLaunching()
{
// initialize director 获得导演类实例
auto director = Director::getInstance();
// 获得OpenGL实例
auto glview = director->getOpenGLView();
if(!glview) {
// 指定窗口大小
glview = GLView::createWithRect(“HelloLua”, Rect(0,0,900,640));
// 设置OpenGL视图
director->setOpenGLView(glview);
}
// 设置分辨率大小为480*320
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::NO_BORDER);
// turn on display FPS 打开帧频,屏幕左下角哪一串数据
// 启用FPS 显示,当前 FPS 会在游戏的左下角显示。FPS也就是屏幕每秒重绘的次数。即每秒帧速率。在游戏开发阶段,可以方便地确定游戏运