自从工作后感觉时间较少(每天工作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. 高性能WEB开发:DOM编程

    我们知道,DOM是用于操作XML和HTML文档的应用程序接口,用脚本进行DOM操作的代价很昂贵.有个贴切的比喻,把DOM和Javascript(这里指ECMscript)各自想象为一个岛屿,它们之间用 ...

  2. Jackson 练习(一)

    package com.yc.model; /** * 班级 * @author Administrator * */ public class ClassModel { private String ...

  3. FrameWork数据权限浅析1之基于手工修改模型实现行级数据安全

    1:环境 Cognos10.2.0,Oracle 2:实现过程 在设置Framework数据级别权限的时候,通常用到的就是在FM的设置数据安全的地方添加安全过滤器,如下图 step1:选中部门维度表→ ...

  4. 使用HTML5的两个api,前端js完成图片压缩

    主要用了两个html5的 API,一个file,一个canvas,压缩主要使用cnavas做的,file是读取文件,之后把压缩好的照片放入内存,最后内存转入表单下img.src,随着表单提交. 照片是 ...

  5. One or more files are in a conflicted state

    http://blog.csdn.net/caiwenfeng_for_23/article/details/37501249 解决代码冲突 如果commit时出现“You have to updat ...

  6. QtGui.QPen

    The QtGui.QPen is an elementary graphics object. It is used to draw lines, curves and outlines of re ...

  7. model中设置默认值时 ,使用 lambda 与否的差别以及datetime的默认值方法

    'date': '2013-01-01'  #固定值 'date': time.strftime('%Y-%m-%d')  #启动时候的值 'date': lambda *a: time.strfti ...

  8. 【NEWS】 ADempiere发布ADempiere 3.8.0路线图【2013年7月28日】

    发布源:http://osssme.org/cms/?q=node/17 本以为ADempiere”已死“,但是看到ADempiere的WIKI上大概在从5月28日开始添加WIKI以来,经过多次更新后 ...

  9. 【转帖】Dubbo:来自于阿里巴巴的分布式服务框架

    http://www.biaodianfu.com/dubbo.html Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被 ...

  10. 【LeetCode】68. Text Justification

    Text Justification Given an array of words and a length L, format the text such that each line has e ...