cocos2dx之Lua调用C++
现在cocos2dx3.8自己封装了以前的toLua++,比以前更好用了。
先来看一下整体步骤:
1.编写一个.ini文件。 2,修改genbindings.py脚本。 3,执行genbindings.py脚本。 4,将生成的桥接文件加入工程。5,修改lua_module_register.h。6,Lua中的使用
原文地址:http://blog.csdn.net/dingkun520wy/article/details/49839717
1、编写自己的ini文件
在cocos2d-x-3.8.1/tools/tolua目录下能看到genbindings.py脚本和一大堆.ini文件,这些就是bindings-generator的实际执行环境了。随便找一个内容比较少的.ini文件,复制一份,重新命名为BaseLuaCpp.ini。大部分内容都可以凑合不需要改,这里仅列出必须要改的重要部分:
特别注意:
如果.ini配置文件中存在macro_judgement = ...宏定义,要特别小心,我第一次是从cocos2dx_controller.ini文件复制来的,结果没注意macro_judgement,导致生成的桥接类文件加入了不该加入的宏,只在iOS和Android平台上才起作用,对Mac平台无效,这个要特别注意。
2、修改genbindings.py文件
文件路径:cocos2d-x-3.8.1/tools/tolua/genbindings.py
修改genbindings.py文件,将BaseLuaCpp.ini文件加进去:
全局搜索“cmd_args = {” 找到要添加的位置
3、编译genbindings.py
在Mac系统上要先安装Python的yaml、Cheetah包
打开终端
执行:sudo
easy_install pip
安装yaml
执行:sudo
easy_install pyyaml
执行:sudo
python -m easy_install pyyaml
执行:sudo
easy_install pyyaml
安装Cheetah
先下载cheetah: http://pythonhosted.org//Cheetah/ 或 http://download.csdn.net/detail/dingkun520wy/9277269
进入目录执行 sudo python
setup.py install
安装完成后
cd到/Users/kuna/Documents/cocos2d-x-3.8.1/tools/tolua目录下
执行:python genbindings.py
4、将生成的桥接文件加入工程
成功执行genbindings.py脚本后,
会在/Users/kuna/Documents/cocos2d-x-3.8.1/tools/tolua目录下看到新生成的文件:
将文件复制到自己的工程下,并加入工程
5、修改lua_module_register.h文件
6、Lua中的使用
--调用C++函数
function LuatoCpptest()
base.BaseUtil:LuatoCPPTest()
end
cocos2dx之Lua调用C++的更多相关文章
- Cocos2d-x下Lua调用自定义C++类和函数的最佳实践[转]
Cocos2d-x下Lua调用C++这事之所以看起来这么复杂.网上所有的文档都没讲清楚,是因为存在5个层面的知识点: 1.在纯C环境下,把C函数注册进Lua环境,理解Lua和C之间可以互相调用的本质 ...
- 【转】Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
转自:http://segmentfault.com/blog/hongliang/1190000000631630 关于cocos2d-x下Lua调用C++的文档看了不少,但没有一篇真正把这事给讲明 ...
- cocos2d-x lua 调用onEnter和onExit
cocos2d-x lua 调用onEnter和onExit version: cocos2d-x 3.6 onEnter和onExit在lua中不会因节点别add和remove而直接被调用,当子节点 ...
- cocos2dx之C++调用Lua
原文地址:http://blog.csdn.net/dingkun520wy/article/details/49839701 1.引入头文件 #include "cocos2d.h&quo ...
- Lua调用自定义C++类
弄了一天终于会Lua调用自定义C++类.不容易啊. 我的电脑是64位的,装了64的Python不行,装了32位的就可以了,靠!下面是报错信息 python pyyaml Cheetah全都是装32位的 ...
- 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本(转)
http://www.cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-remote-debug-via-zerobrane/zh ZeroB ...
- cocos2d-x - C++/Lua交互
使用tolua++将自定义的C++类嵌入,让lua脚本使用 一般过程: 自定义类 -> 使用tolua++工具编译到LuaCoco2d.cpp中 -> lua调用 步骤一:自定义一个C++ ...
- Lua调用C++时打印堆栈信息
公司的手游项目,使用的是基于cocos2d-x绑lua的解决方案(参数quick-x的绑定),虽然使用了lua进行开发,更新很爽了,但是崩溃依然较为严重,从后台查看崩溃日志时,基本上只能靠" ...
- cocos2d-x绑lua的开发环境
2013年是手游开发井喷的一年,也是手游市场竞争最为激烈的一年,ios市场除了刷榜.刷榜,还是刷榜,而android有点像黑市的感觉,水太深(很多渠道商已经从上游控制了流量的入口).而cocos2d- ...
随机推荐
- scp输入密码问题
今天查看预发布项目是发现一个问题,代码中使用了ganymed-ssh2-262.jar执行scp远程copy,但发现没有成功,没报错,程序阻塞了 狂搜...郁闷的是按照网上说的,做了几遍但是没成功,没 ...
- Redis中的关系查询(范围查询,模糊查询等...)
本文部分转自于:http://blog.csdn.net/dc_726/article/details/42784317 本文对Redis如何保存关系型数据,以及如何对其匹配.范围.模糊查询进行举例讲 ...
- Oracle导入SQL脚本执行 scott 用户下的表删除了
执行 .sql 文件时,应在 sqlplus 或 cmd 中执行,速度比plsql 中的command window 中书许多, scott 用户下的表删除了 可以执行如下 @D:\app\Admi ...
- 【转】android 安卓APP获取手机设备信息和手机号码的代码示例
http://blog.csdn.net/changemyself/article/details/7421476 下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓 ...
- CSS之导航菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SQL创建函数及应用
用户自定义函数在SQL Server中,用户不仅可以使用标准的内置函数,也可以使用自己定义的函数来实现一些特殊的功能.用户自定义函数可以在企业管理器中创建,也可以使用CREATE FUNCTION 语 ...
- compress 表设置及索引设置
-- 查看表大小 from user_segments where segment_name='TableName'; -- 查看表大小 size_m -- 2000.6796875 2211.695 ...
- self指向函数地址 动态调用函数的简单例子
#import <Foundation/Foundation.h> @interface Person : NSObject - (void)test1; - (void)test2:(N ...
- 抽象类[abstract]_C#
抽象类(abstract) abstract修饰符可以和类.方法.属性.索引器及事件一起使用.在类声明中使用abstract修饰符以指示某个类只能是其它类的基类.标记为抽象或包含在抽象类中的成员必须通 ...
- jQuery-ui treegird 使用
在实际应用中可能会碰到不同的需求,比如会根据每行不同的参数或属性设置来设置同列不同的editor类型,这时原有的例子就显的有点太过简单,不能实现我们的需求,现在应用我在项目中的操作为例,显示下实现同列 ...