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()函数中的代码,这段代码讲述的时如何初始化脚本引擎,笔者已经将注释都写在了下面,如下图所示:

Cocos2d-x教程 Lua脚本(1) 如何在Cocos2d-x中使用Lua脚本_第1张图片

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

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

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

Cocos2d-x教程 Lua脚本(1) 如何在Cocos2d-x中使用Lua脚本_第2张图片

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

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

Cocos2d-x教程 Lua脚本(1) 如何在Cocos2d-x中使用Lua脚本_第3张图片

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

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

看一下输出结果:

第一行:返回0代表成功

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

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

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

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




你可能感兴趣的:(Cocos2d-x,Lua,Lua脚本,C++和Lua通信,Cocos2d-x,Lua教程,马宗扬)