版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/u013321328/article/details/25699545

笔者使用的是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脚本的教程

[转载]cocos2dx与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的文件。这个文件里实际上仅仅有两行代码,我们来看一下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjk0NTU5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" style="border-bottom:medium none;border-left:medium none;border-top:medium none;border-right:medium none;" />

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

看一下输出结果:

第一行:返回0代表成功

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

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

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

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

怎样在Cocos2d-x中使用Lua脚本的更多相关文章

  1. 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

    [COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...

  2. C++中嵌入Lua脚本环境搭建

    第一步(环境准备工作): 工具: ●LuaForWindows_v5.1.4-46.exe傻瓜式安装. 作用:此工具可以在windows环境下编译运行Lua脚本程序.安装完成后会有两个图标:Lua和S ...

  3. 在redis中使用lua脚本

    在实际工作过程中,可以使用lua脚本来解决一些需要保证原子性的问题,而且lua脚本可以缓存在redis服务器上,势必会增加性能. 不过lua也会有很多限制,在使用的时候要注意. 在Redis中执行Lu ...

  4. redis中使用lua脚本

    lua脚本 Lua是一个高效的轻量级脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能 使用脚本的好处 1.减少网络开销,在Lua脚 ...

  5. 新姿势!Redis中调用Lua脚本以实现原子性操作

    背景:有一服务提供者Leader,有多个消息订阅者Workers.Leader是一个排队程序,维护了一个用户队列,当某个资源空闲下来并被分配至队列中的用户时,Leader会向订阅者推送消息(消息带有唯 ...

  6. 服务降级 托底预案 Nginx中使用Lua脚本检测CPU使用率,当达到阀值时开启限流,让用户排队

    https://mp.weixin.qq.com/s/FZAcQQAKomGEe95kln1HCQ 在京东我们是如何做服务降级的 https://mp.weixin.qq.com/s/FZAcQQAK ...

  7. Redis中的原子操作(2)-redis中使用Lua脚本保证命令原子性

    Redis 如何应对并发访问 使用 Lua 脚本 Redis 中如何使用 Lua 脚本 EVAL EVALSHA SCRIPT 命令 SCRIPT LOAD SCRIPT EXISTS SCRIPT ...

  8. 在redis中使用lua脚本让你的灵活性提高5个逼格

    在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了 ...

  9. 第二十三篇:在SOUI中使用LUA脚本开发界面

    像写网页一样做客户端界面可能是很多客户端开发的理想. 做好一个可以实现和用户交互的动态网页应该包含两个部分:使用html做网页的布局,使用脚本如vbscript,javascript做用户交互的逻辑. ...

随机推荐

  1. Cocos2d-x之引擎框架简介

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 1.cocos2d-x的设计思想 cocos2d-x分为导演,场景,图层,精灵,节点: (1).导演(Director):控制整个游戏的场 ...

  2. 慎用margin系列3---IE6下3px bug

    当我们想让一段文字出现在一个布局块的右边的时候,我们会让布局块向左浮动,然后把段落设置左布局块宽度大小的左空白.比如左布局块是.a{float:left;height: 110px;width: 28 ...

  3. Spring 使用@Async出现循环依赖Bean报错的解决方案

    初现端倪 Caused by:org.springframework.beans.factory.BeanCurrentlyInCreationException: Errorcreating bea ...

  4. spring自学历程

    spring几大核心功能 1.IOC/DI(控制反转/依赖注入) IOC是什么?IOC完成的事情是原先程序员主动通过new实例化对象的事情,转交给spring负责 IOC最大的作用是:解耦,程序员不需 ...

  5. python_面向对象,类名称空间,对象名称空间,组合

    创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量(字段) 动态属性就是定义在类中的方法 其中类 ...

  6. android 自定义标题

    public class MainActivity extends Activity { /** Called when the activity is first created. */ @Over ...

  7. Node.js中的fs文件系统

    fs.stat 检测是文件还是目录 fs.mkdir 创建目录 fs.writeFile 创建写入文件 fs.appendFile 追加文件 fs.readFile 读取文件 fs.readdir 读 ...

  8. 前端移动端开发总结(Vue)

    上下固定,中间滚动布局(FLEX) <div id="app"> <div class="header"></div> &l ...

  9. redis 发布订阅(pub/sub )

  10. KiCAD绘制电源符号

    KiCAD绘制电源符号 KiCAD自带的电源符号有时候不符合我们的操作习惯,需要自己重新定义电源符号,这时候就需要新建(不能更改系统自带库的电源符号) 1.新建符号,参照下图行设置 2.放置引脚和图形 ...