Cocos2d-x-Lua示例项目HelloLua

本文介绍了使用Cocos2d-x-Lua进行游戏开发的基础步骤,从main.cpp开始,讲解了AppDelegate类的角色,以及如何在AppDelegate.cpp中设置Lua脚本执行。在Lua脚本部分,展示了如何加载和执行main.lua,以及实现游戏中的精灵动画和触摸事件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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也就是屏幕每秒重绘的次数。即每秒帧速率。在游戏开发阶段,可以方便地确定游戏运

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值