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

原创 2013年12月06日 13:32:07

欢迎加入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脚本中读取了一个整数

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




DDoS-太极盾的商业价值及思考-太极盾随笔

从加入这个团队开始,我就对这个产品非常有信心,之前看到一篇文章描述像华为/apple这样的厂商的手机产品,在一些非洲国家被国内小厂打的体无完肤。充分说明了差异化产品的商业价值。 太极盾解决方案的出现...

匹夫细说Unity3D(一)——移动平台动态读取外部文件全解析

前言: 一直有个想法,就是把工作中遇到的坑通过自己的深挖总结成一套相同问题的解决方案供各位同行拍砖探讨。眼瞅着2015年第一个工作日就要来到了,小匹夫也休息的差不多了,寻思着也该写点东西活动活动大脑...

Cocos2d-x 如何使用Lua脚本

  • 2013年12月06日 13:30
  • 1.56MB
  • 下载

使用BabeLua调试Cocos2d-x的Lua脚本

  • 2016年05月24日 11:04
  • 473KB
  • 下载

Cocos2d-x教程(26)-Cocos2d-x + Lua脚本实现大地图缩放功能

Cocos2d-x + Lua脚本实现大地图缩放功能

Cocos2d-x教程 Lua脚本(2) Mac系统下搭建Lua的编码环境

笔者今天一直在找Lua编辑器,最后综合代码提示、纠错、以及界面美观性、可操作性等原因,选择了Sublime Text。 关于编码环境的基本搭建过程,笔者给大家推荐一篇博客:http://blog.s...

Cocos2d-x使用Luajit将Lua脚本编译

原文网址:       http://www.cocoachina.com/bbs/read.php?tid=205802 项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身...

Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密

项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。 下面是使用原生的lua解释器编译字节码: ...

Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密

项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。 下面是使用原生的lua解释器编译字节码: ...

如何使用ZeroBrane Studio远程调试Cocos2d-x的Lua脚本

ZeroBrane Studio做为一个轻量级的Lua IDE,因为它支持跨平台(支持Windows、Mac和Linux)和支持真机调试(Andorid、IPhone和IPad),所以经常被用来调试L...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Cocos2d-x教程 Lua脚本(1) 如何在Cocos2d-x中使用Lua脚本
举报原因:
原因补充:

(最多只允许输入30个字)