版权声明:本文为博主原创文章。未经博主同意不得转载。 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. Django框架(二十一)—— Django rest_framework-权限组件

    目录 Django rest_framework-权限组件 一.权限组件的使用 1.使用语法 2.全局使用.局部使用.局部禁用权限 二.源码分析 1.Book中没有as_view 2.APIView的 ...

  2. Java对象toString()方法

    对象的字符串表示以可读格式包含有关对象状态的信息.Object类的toString()方法表示字符串中类的对象.Object类提供了toString()方法的默认实现. 它返回一个以下格式的字符串: ...

  3. VC2008中将CString转换成const char*的一种有效方法

    文章转载自http://blog.csdn.net/lanbing510/article/details/7425613 在Visual Studio 200X下,CString直接转换成const ...

  4. Emacs25.1之后UrlHttpError

    Emacs25.1之后UrlHttpError */--> pre.src {background-color: #002b36; color: #839496;} pre.src {backg ...

  5. python获取沪股通、深股通、港股通每日资金流向数据

    接口:moneyflow_hsgt 描述:获取沪股通.深股通.港股通每日资金流向数据,每次最多返回300条记录,总量不限制. 注:tushare模块下载和安装教程,请查阅我之前的文章 输入参数 名称  ...

  6. Linux下JDK1.6升级1.8版本

    先不管是否已安装JDK1.6还是JDK1.7,先下载 jdk-8u45-linux-x64.rpm 然后上传到  /usr/local/src  去.当然其他目录也可以.这里是默认位置   给所有用户 ...

  7. 11-vim-撤销和删除命令-01-撤销

    撤销和恢复撤销 命令 英文 功能 u undo 撤销上一次命令 ctrl  u redo 恢复撤销的命令

  8. Linux 版本查詢

    # uname -a 查看  Kernel版本 # cat /etc/redhat-release查看 linux版本(以RedHat為例) 1.核心查詢:uname -a結果:Linux 2.x.x ...

  9. tac - 反转显示文件

    总览 (SYNOPSIS) ../src/tac [OPTION]... [FILE]... 描述 (DESCRIPTION) 把 每个 文件 FILE 显示在 标准输出, 后面 的 行 放在 前面. ...

  10. linux调用本地镜像

    首先先让系统显示出来 iso 已经挂载 然后#mkdir  /mnt/cdrom #mount  /dev/cdrom /mnt/cdrom #df  -H  查看是否已经挂载上 #cd  /etc/ ...