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- ...
随机推荐
- [未完成][Mooc]关于IO总结
整个课程的大纲:1.编码问题.2.File类的使用3.RandomAccessFile的使用4.字节流的使用.5.字符流的使用.6.对象的序列化和反序列化. 视频1:文件的编码Eclipse的一大特点 ...
- 使用PL/SQL删除百万条记录的大表
使用PL/SQL删除百万条记录的大表: 最近开发人员对测试环境数据库进行了压力测试,数据库中产生了大量的脏数据.有几张大表里数据量均在百万甚至千万条的记录数.开发人员现提出需求如下: 只清理其中的部分 ...
- [算法练习] UVA-10010-Where's Waldorf?
UVA Online Judge 题目10010 Where's Waldorf? Waldorf在哪? 问题描述: 给出一个m行n列的字符矩阵(),和一个单词列表,在矩阵上匹配每个单词.在矩阵上匹 ...
- Nginx - HTTP Configuration, Module Variables
The HTTP Core module introduces a large set of variables that you can use within the value of direct ...
- HDOJ2002计算球体积
计算球体积 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- TSQL基础(四) - 日期处理
日期类型-DateTime DateTime是sql中最常用的日期类型. 存储大小为:8个字节: 日期范围:1753-01-01到9999-12-31: 精确度:3.33毫秒: 常用的日期函数 Get ...
- 自定义DZLMoneyLabel
一.简介 由于父亲生病,好久没有更新博客了,今天10.1 国庆(应该说是昨天了,已经过了12点了),心血来潮自定义了一个小label.这个控件的难度并不大,也没有什么可以值得炫耀的技术点.写这个控件的 ...
- C# 3.0 特性之扩展方法
今天,我们来聊一聊C#的扩展方法. C# 3.0中为我们提供了一个新的特性—扩展方法.什么是扩展方法呢?我们看一下MSDN的注解: 扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新 ...
- css3学习笔记之效果
<!DOCTYPE html> <html> <head> <style> #t1 { border-radius: 15px; width:60px; ...
- java学习笔记_GUI(3)
如何加入自己定义的Panel import javax.swing.*; import java.awt.event.*; import java.awt.*; 5 class MyPanel ext ...