tolua++绑定自定义类(高级版)
来源:互联网 发布:免费门窗下料优化软件 编辑:程序博客网 时间:2024/05/01 15:59
有时候有没有有觉得使用tolua如果修改了源代码会很麻烦
现在教一个高级方法,不用修改源代码,并且随便移植
这里拿我自己写的ClippingArea当示例
ClippingArea地址:D:\Cocos2d-X\cocos2d-x-2.2.1-tolua\cocos2d-x-2.2.1\projects\ClippingNode\Classes\UI\ClippingArea\
tolua地址:D:\Cocos2d-X\cocos2d-x-2.2.1-tolua\cocos2d-x-2.2.1\projects\ClippingNode\Classes\ToLua\LuaClippingArea\
我是一个类一个绑定,这个看个人需求了啦
首先你要参考tolua++文件夹中的内容来写
LuaClippingArea.h == LuaCocos2d.h
LuaClippingArea.pkg == LuaCocos2d.pkg
LuaClippingArea.h
这个先不写也行的,不过为了移植性,建议你先写了罗,内容如下:
#ifndef _LUACLIPPINGAREA_H_
#define _LUACLIPPINGAREA_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "tolua++.h"
#ifdef __cplusplus
}
#endif
TOLUA_API int tolua_LuaClippingArea_open(lua_State* tolua_S);
#endif
LuaClippingArea.pkg
这个是Cocos2d.pkg改过来的,内容如下:
$#include "cocos2d.h"
$USING_NS_CC;
$#include "LuaClippingArea.h"
$#include "UI/ClippingArea/ClippingArea.h"
$pfile "ClippingArea.pkg"
上面那两个include将会写在LuaClippingArea.cpp中
但是感觉没有直接使用上
ClippingArea.pkg不会写那你就没救了
basic.lua
原本很多东西的,现在修改一下,内容如下
local CCObjectTypes = {
"ClippingArea",
}
保留自己继承CCObject的类,记得是继承或者间接继承CCObject的才写在里面啊
replace([[#ifndef __cplusplus
#include "stdlib.h"
#endif
#include "string.h"
#include "tolua++.h"]],
保留这些够了,其它删掉
TOLUA_API int tolua_LuaClippingArea_open (lua_State* tolua_S);]], [[]])
中间的Cocos2d改成这个样子就行的啦
build.bat
用于生成文件,内容如下:
tolua++ -L basic.lua -o "LuaClippingArea.cpp" LuaClippingArea.pkg
第二个地址改成当地和其名字
第二个是将Cocos2d.pkg改过来的就不用说了吧
然后把上面的那些用到的h和cpp文件拉进项目
然后在AppDelegate.cpp中添加LuaClippingArea.h的引用
然后添加使用
//裁剪模块
tolua_LuaClippingArea_open(tolua_s);
By the way:
有些人可能说不会写LuaClippingArea.h
这个倒不是大问题
如果Cocos2d.pkg这个文件名没有改,或者basic.lua里面的TOLUA_API int tolua_LuaClippingArea_open (lua_State* tolua_S);]], [[]])和其不符合
最终生成的LuaClippingArea.cpp里面会有头文件的写法,把其剪切到那里面就行了
注意函数名不是以basic.lua里面写的为主,而是以Cocos2d.pkg这个文件名为主,真是奇葩
0 1
- tolua++绑定自定义类(高级版)
- Unity tolua 绑定自定义类
- tolua绑定
- cocos2dx 2.x版本:简化提炼tolua++绑定自定义类到lua中使用
- Quick-3.3绑定自定义C++类(二)生成并使用tolua++工具
- 应用tolua++绑定C++类到lua
- cocos2d-x tolua++使用(C++自定义类导入lua)
- tolua++使用(将2d_x自定义类导入lua)
- Cocos2dx中tolua++如何使用自定义类
- ToLua学习笔记,创建自定义矩阵类
- 【cocos2d-x + Lua(1) 绑定Lua并使用tolua++】
- 【cocos2d-x + Lua(1) 绑定Lua并使用tolua++】
- cocos2d_x+lua【9】 ------tolua++使用(将2d_x自定义类导入lua)
- 在Lua中使用自定义类——tolua++工具使用(上集)
- 在Lua中使用自定义类——tolua++工具使用(下集)
- 在Lua中使用自定义类——tolua++工具使用(上集)For Windows
- 在Lua中使用自定义类——tolua++工具使用(下集)
- cocos2d_x+lua【9】 ------tolua++使用(将2d_x自定义类导入lua)
- c#终止某一进程
- 即时查询的js写法
- SQL操作全集
- Oracle 排序
- 天空你给的了我什么
- tolua++绑定自定义类(高级版)
- Selenium + Webdriver 学习(五) frame下元素定位
- Android error: Failed to install *.apk on device *: timeout
- MySQL数据库备份命令
- MYSQL 导入导出命令
- 成都周边水果产地
- realloc 可能导致的内存泄露
- JAVA,JSP,Servlet获取当前工程路径-绝对路径
- 浏览器兼容处理方法汇总