怎样在Cocos2d-x中使用Lua脚本
版权声明:本文为博主原创文章。未经博主同意不得转载。 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脚本的更多相关文章
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- C++中嵌入Lua脚本环境搭建
第一步(环境准备工作): 工具: ●LuaForWindows_v5.1.4-46.exe傻瓜式安装. 作用:此工具可以在windows环境下编译运行Lua脚本程序.安装完成后会有两个图标:Lua和S ...
- 在redis中使用lua脚本
在实际工作过程中,可以使用lua脚本来解决一些需要保证原子性的问题,而且lua脚本可以缓存在redis服务器上,势必会增加性能. 不过lua也会有很多限制,在使用的时候要注意. 在Redis中执行Lu ...
- redis中使用lua脚本
lua脚本 Lua是一个高效的轻量级脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能 使用脚本的好处 1.减少网络开销,在Lua脚 ...
- 新姿势!Redis中调用Lua脚本以实现原子性操作
背景:有一服务提供者Leader,有多个消息订阅者Workers.Leader是一个排队程序,维护了一个用户队列,当某个资源空闲下来并被分配至队列中的用户时,Leader会向订阅者推送消息(消息带有唯 ...
- 服务降级 托底预案 Nginx中使用Lua脚本检测CPU使用率,当达到阀值时开启限流,让用户排队
https://mp.weixin.qq.com/s/FZAcQQAKomGEe95kln1HCQ 在京东我们是如何做服务降级的 https://mp.weixin.qq.com/s/FZAcQQAK ...
- Redis中的原子操作(2)-redis中使用Lua脚本保证命令原子性
Redis 如何应对并发访问 使用 Lua 脚本 Redis 中如何使用 Lua 脚本 EVAL EVALSHA SCRIPT 命令 SCRIPT LOAD SCRIPT EXISTS SCRIPT ...
- 在redis中使用lua脚本让你的灵活性提高5个逼格
在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了 ...
- 第二十三篇:在SOUI中使用LUA脚本开发界面
像写网页一样做客户端界面可能是很多客户端开发的理想. 做好一个可以实现和用户交互的动态网页应该包含两个部分:使用html做网页的布局,使用脚本如vbscript,javascript做用户交互的逻辑. ...
随机推荐
- Cocos2d-x之引擎框架简介
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.cocos2d-x的设计思想 cocos2d-x分为导演,场景,图层,精灵,节点: (1).导演(Director):控制整个游戏的场 ...
- 慎用margin系列3---IE6下3px bug
当我们想让一段文字出现在一个布局块的右边的时候,我们会让布局块向左浮动,然后把段落设置左布局块宽度大小的左空白.比如左布局块是.a{float:left;height: 110px;width: 28 ...
- Spring 使用@Async出现循环依赖Bean报错的解决方案
初现端倪 Caused by:org.springframework.beans.factory.BeanCurrentlyInCreationException: Errorcreating bea ...
- spring自学历程
spring几大核心功能 1.IOC/DI(控制反转/依赖注入) IOC是什么?IOC完成的事情是原先程序员主动通过new实例化对象的事情,转交给spring负责 IOC最大的作用是:解耦,程序员不需 ...
- python_面向对象,类名称空间,对象名称空间,组合
创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量(字段) 动态属性就是定义在类中的方法 其中类 ...
- android 自定义标题
public class MainActivity extends Activity { /** Called when the activity is first created. */ @Over ...
- Node.js中的fs文件系统
fs.stat 检测是文件还是目录 fs.mkdir 创建目录 fs.writeFile 创建写入文件 fs.appendFile 追加文件 fs.readFile 读取文件 fs.readdir 读 ...
- 前端移动端开发总结(Vue)
上下固定,中间滚动布局(FLEX) <div id="app"> <div class="header"></div> &l ...
- redis 发布订阅(pub/sub )
- KiCAD绘制电源符号
KiCAD绘制电源符号 KiCAD自带的电源符号有时候不符合我们的操作习惯,需要自己重新定义电源符号,这时候就需要新建(不能更改系统自带库的电源符号) 1.新建符号,参照下图行设置 2.放置引脚和图形 ...