自从工作后感觉时间较少(每天工作9-22,晚上就不想动了,早上想多睡点),工作中用的是

cocos2d-x。cocos2d-x是一款手机游戏引擎,虽然支持lua,但和love2d相比非纯lua游戏引

擎,不过很容易把C++里的类导出到lua。(虽然cocos2d-x比love2d更流行,工具和教程更

多,我还是会继续更新love2d相关的,因为特别喜欢love2d的小巧。)

cocos2d-x集成了tolua++,tolua++是一款把C++类导出到lua的工具。该工具使用的一般

流程是:

1、制作pkg文件,pkg文件就是你需要要导出的函数和类,基本和头文件一致

2、使用tolua++.exe 从pkg文件生成其对应的C/C++源文件,如tolua++-o test.c test.pkg

3、把生成的源文件加入工程,并在链接里加入lua和tolua++的库

其实tolua++就是自动帮我们完成了C/C++到lua的绑定,之后我们就可以在lua里调用C/C++

里的函数。

在cocos2d-x里就比较方便了,只需要在“tools\tolua++”,里添加你要导出的类的pkg,

同时在Cosos2d.pkg里包含你自己的pkg,即$pfile "test.pkg",还有在LuaCocos2d.h里添加

这个类对应的头文件,即#include "test.h",最后运行 build.bat。

注意一下类的继承,如果你导出的类是A的子类,那么也要把A类导出。

下面是CCEditBox导出到lua的pkg,CCEditBox涉及到了多个类所以较长。

CCScale9Sprite.pkg,先要导出CCScale9Sprite

CCEditBox继承的几个类我全放到CCEditBox.pkg里了

cocos2d-x中CCEditbox导出到lua的更多相关文章

  1. hiredis异步接口封装并导出到Lua

    hiredis异步接口封装并导出到Lua(金庆的专栏 2017.1)hiredis 不支持 Windows, Windows 下使用 wasppdotorg / hiredis-for-windows ...

  2. c++对象导出到lua

    转自:http://www.cnblogs.com/ringofthec/archive/2010/10/26/luabindobj.html 虽然有tolua++, luabind等等, 不过自己手 ...

  3. 使用BabeLua在cocos2d-x中编辑和调试Lua

    使用BabeLua在cocos2d-x中编辑和调试Lua BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查.自己主动补全.高速搜索,注入宿主程序内对Lu ...

  4. cocos:C++ 导出到lua, cocos2dx_extension.ini修改

    cocos:C++ 导出到lua, cocos2dx_extension.ini修改 [zq] //zq section, 需要和genbindings.py中的配置相同 # the prefix t ...

  5. cocos:C++ 导出到lua, genbindings.py修改

    cocos:C++ 导出到lua, genbindings.py修改 1. 准备 把tools目录下的cocos2dx_extension.ini, genbindings.py, userconf. ...

  6. 在查询时将查询条件放入Session中,导出时直接根据qpniRGaFiler取查询条件即可

    在查询时将查询条件放入Session中,导出时直接根据qpniRGaFiler取查询条件即可

  7. 如何在IIS7或IIS7.5中导入导出站点及应用程序池.

    为实现负载平衡,我们可能会使用多个WEB服务器,也就会需要给多个IIS配置同样的站点和应用程序池.那么我们需要一个一个的重新建吗?当然不用,我们只需要一些简单的命令就可以在IIS7(Windows S ...

  8. ArcGIS中如何导出单个矢量要素图形

    原文:ArcGIS中如何导出单个矢量要素图形 在ARCGIS中载入了一张含有省界的中国地图,是SHP文件.现在我只想要其中一块地区的,实现方法如下: 加入到ArcGIS后,右击图层,打开属性表(att ...

  9. 从SQL Server中导入/导出Excel的基本方法(转)

    从sql server中导入/导出 excel 的基本方法 /*=========== 导入/导出 excel 的基本方法 ===========*/ 从excel文档中,导入数据到sql数据库中,很 ...

随机推荐

  1. [置顶] All about control file in Oracle Database

    --数据库实例启动的三个阶段: NOMOUNT(START):打开初始化参数文件 MOUNT:打开控制文件 OPEN:打开数据文件和日志文件 --控制文件 控制文件的作用:管理数据库的状态和描述数据库 ...

  2. ambari 大数据安装利器

    https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/

  3. C++ 中特殊的用法

    1.反斜杠 a.转义字符 b.强制换行,当一行代码很长时,在这一行中间加上反斜杠,分成两行,反斜杠前后不能有空格.在预编译的的时候,会合成一行. 2.String^ 表明String是一个托管类型的指 ...

  4. Maven项目结合POI实现导入导入导入导入导入Excl表格Demo-亲测可用

    第一步:写入maven依赖(3.6是比较稳定的版本,可用于生产环境) <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --& ...

  5. C#基础视频教程3.2 常见控件类型和使用方法

    这一部分我们介绍如何使用第三方的控件,我们前面一节介绍了使用微软提供的官方控件,比较中规中矩,而且也不用担心稳定性.但是很多时候我们还是会希望用第三方的控件让自己的软件更美观,更独特. 就单纯的按钮, ...

  6. WebView加载网页文件

    转自:http://www.2cto.com/kf/201108/101518.html WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实 ...

  7. rtsp摘要认证协议(Response计算方法)

    rtsp摘要认证协议(Response计算方法) 说明: 例如:OPTIONS rtsp://192.168.123.158:554/11RTSP/1.0   RTSP客户端应该使用username ...

  8. Bash Shell的环境配置文件

    login shell:取得bash时需要完整的登录流程 non-login shell:取得bash接口的方法不需要重复登录,举例来说,你以x window登录Linux后,再以x的图形界面启动终端 ...

  9. 14.2 事务的ACID属性

    14.2 事务的ACID属性正在更新内容.请稍后

  10. Vue 源码 基础知识点

    1.数据类型判断 const _toString = Object.prototype.toString function toRawType(value) { return _toString.ca ...