`
xidajiancun
  • 浏览: 449255 次
文章分类
社区版块
存档分类
最新评论

Cocos2d-x教程 Lua脚本(1) 如何在Cocos2d-x中使用Lua脚本

 
阅读更多

欢迎加入Cocos2d-x 交流群:193411763

欢迎转载,转载时请注明原文出处http://blog.csdn.net/u012945598/article/details/17162697

源码下载地址:http://download.csdn.net/detail/u012945598/6668417

笔者使用的是Cocos2d-x的2.21版本,Xcode 5.0开发环境,同时也建议大家使用Cocos2.20以上版本,若由于版本原因源码无法运行,可将Classes文件拷贝出来,在新建的项目中将Classes文件夹替换进去,.lua文件在Resources文件夹中。


有关Lua脚本语言的基本语法讲解请参考 :http://blog.csdn.net/u012945598/article/details/17116939

关于Cocos2d-x 2.20以上版本如何创建基于Lua的项目请参考:http://blog.csdn.net/u012945598/article/details/17115875

如果以上两点都没有问题,那么我们正式进入Cocos2d-x中使用Lua脚本的教程


首先,创建一个基于Lua的项目,笔者命名为MyLua。项目创建好之后,运行项目,我们会发现其实这个项目就是sample文件夹中的hellolua的Demo,在我们学会如何使用Lua之前,我们先来分析一下2d-x中为我们提供的这个案例。

看一下AppDelegate.cpp中boolAppDelegate::applicationDidFinishLaunching()函数中的代码,这段代码讲述的时如何初始化脚本引擎,笔者已经将注释都写在了下面,如下图所示:


这段代码几乎可以成为固定模式,如果需要使用Lua脚本语言开发一个项目,那么这段代码可以直接粘贴复制重新利用,因为这段代码中并不涉及到与游戏相关的任何内容。

有了上面的代码实际上就已经可以使用Lua脚本了,下面笔者将通过一个Demo讲解如何通过Cocos2d-x与Lua通信。

新建一个类文件命名为newScene,.h文件的代码如下:


可以看出newScene是一个场景,里面有一个init函数。

.cpp文件的代码如下,相关注释已在代码中注明:


在代码中我们看到了一个myLua.lua的文件,这个文件中实际上只有两行代码,我们来看一下:

笔者使用的TextMate编辑器,关于编辑器大家可以自行选取,编辑好文本后将后缀加上 .lua即可。

看一下输出结果:

第一行:返回0代表成功

第二行:判断栈顶是否为string类型,返回1代表成功

第三行:从Lua脚本中读取一个字符串

第四行:从Lua脚本中读取了一个整数

第五行:将栈顶元素删除后的结果。




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics