展会信息港展会大全

第一个Cocos2d-x Lua游戏,第一个cocos2d-xlua
来源:互联网   发布日期:2015-09-28 11:24:14   浏览:1636次  

导读: 第一个Cocos2d-x Lua游戏,第一个cocos2d-xlua 我们的编写的第一个Cocos2d-x Lua程序,命名为HelloLua,从该工程开始学习其它的内容。创建工程我们创建Coc...

第一个Cocos2d-x Lua游戏,第一个cocos2d-xlua

我们的编写的第一个Cocos2d-x Lua程序,命名为HelloLua,从该工程开始学习其它的内容。创建工程我们创建Cocos2d-x Lua工程可以通过Cocos2d-x提供的命令工具cocos实现,但这种方式不能与Cocos Code IDE集成开发工具很好地集成,不便于程序编写和调试。由于Cocos Code IDE工具是Cocos2d-x开发的专门为Cocos2d-JS和Cocos2d-x Lua开发设计的,因此使用Cocos Code IDE工具很方便创建Cocos2d-x Lua工程。首先我们需要在Cocos Code IDE工具中先配置Lua框架,打开Cocos Code IDE工具,选择菜单Window→Preferences,弹出对话框如图所示,选择Cocos→Lua在右边的Lua Frameworks中选择<Cocos2d-x引擎目录>。\配置Lua框架Lua框架配置不需要每次都进行,只是在最开始的配置一下,但创建工程的时候,Cocos Code IDE工具会从这个Lua框架目录中创建工程文件。接下来我们就可以创建Lua工程了,选择菜单File→New→Project,如下图所示,弹出项目类型选择对话框。\项目类型选择对话框我们选中Cocos Lua Project,然后点击Next按钮,弹出如下图所示的对话框。我们在Project Name项目中输入工程名称,Create Project in Workspace是在Workspace目录中创建工程,我们需要选中该项目,Create From Existing Resource项目选中可以让我们从已经存在的工程创建,现在我们不需要选中该项目。选择完成点击Next按钮进入到如图所示配置运行环境对话框,在该对话框中我们可以配置项目运行时信息。Orientation项目是配置模拟器的朝向,其中landscape是横屏显示,portriat是竖屏显。Desktop Runtime Settings中的Title是设置模拟器的标题,Desktop Windows initialize Size是设置模拟器的大校Add Native Codes是设置添加本地代码到工程,在本来中我们不需要添加本地代码。最后点击Finish按钮完成创建操作,创建好工程之后,如后图所示。\新建项目对话框\配置运行环境对话框\创建工程成功界面Cocos Code IDE中运行创建好工程后我们可以测试一下,在左边的工程导航面板中选中HelloLua工程,右键菜单中选择Run As→Cocos luainding运行我们刚刚创建的工程,运行结果如下图所示。\运行工程界面我们主要编写的程序代码是在src目录下,在本例中Lua 文件负责处理主要的场景界面逻辑。如果我们想调试程序,可以设置断点,如下图所示,点击行号之前的位置,设置断点。\设置断点调试运行过程,右键菜单中选择Debug As→Cocos Luabinding菜单。如下图所示,程序运行到第31行挂起,并进入调试视图,在调试视图中我们可以查看程序运行的堆栈、变量、断点、计算表达式和单步执行程序等操作。\运行到断点挂起工程文件结构我们创建的HelloLua工程已经能够运行起来了,下面我们介绍一下HelloLua工程中的文件结构,我们使用Cocos Code IDE打开HelloLua工程,左侧的导航面板如下图所示。\HelloLua工程中的文件结构在上图所示导航面板中,res文件夹存放资源文件的,src文件夹是主要的程序代码main.lua和GameScene.lua,其中main.lua是程序入口文件,Cocos2d-x会在底层绑定该文件,并且启动和运行它。GameScene.lua中实现了游戏场景。代码解释HelloLua工程中主要有两文件下面我们详细解释一下它们内部的代码: 1、main.lua文件main.lua是程序入口文件代码如下:require "Cocos2d" ①

-- cclog

local cclog = function(...) ②

print(string.format(...)) ③

end

-- for CCLuaEngine traceback

function __G__TRACKBACK__(msg) ④

cclog("----------------------------------------")

cclog("LUA ERROR: " .. tostring(msg) .. "\n")

cclog(debug.traceback())

cclog("----------------------------------------")

return msg

end

local function main() ⑤

collectgarbage("collect") ⑥

-- avoid memory leak

collectgarbage("setpause", 100) ⑦

collectgarbage("setstepmul", 5000) ⑧

cc.FileUtils:getInstance():addSearchPath("src")

cc.FileUtils:getInstance():addSearchPath("res")

cc.Director:getInstance():getOpenGLView():setDesignResolutionSize(480, 320, 0)

--create scene

local scene = require("GameScene") ⑨

local gameScene = scene.create() ⑩

gameScene:playBgMusic()

if cc.Director:getInstance():getRunningScene() then

赞助本站

人工智能实验室

相关热词: android开发 android教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港