quick-cocos2dx将C++导出lua
来源:互联网 发布:传智播客php视频下载 编辑:程序博客网 时间:2024/05/16 05:07
可以按照官网教程来做。
个人总结,分为5步:
进行相关环境配置。
编写.h .cpp文件。
在引擎frameworks\cocos2d-x\tools\tolua目录下重写*.ini配置文件与genbindings.py脚本。
执行自定义的genbindings.py脚本,得到生成的lua_*_auto.cpp 和lua_*_auto.hpp文件。默认路径在frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto下面。也可以修改genbindings.py第134行的输出目录 output_dir = ‘%s/cocos/scripting/lua-bindings/auto’ % project_root
调用register_all_***(lua_State* tolua_S)注册函数。
可以在lua中调用啦。
————————————————————-^_^——————————————————附:
ini配置文件格式:
注:加粗的表示一般需要我们自己修改的地方。[title]:要配置将被使用的工具/ tolua的/ gengindings.py脚本的称号。一般来说,标题可以是文件名。
prefix:要配置一个函数名的前缀,通常,我们还可以使用文件名作为前缀。
target_namespace:要配置在脚本层模块的名字。在这里,我们使用cc作为模块名,当你想在脚本层REF的名称,您必须将一个名为前缀,CC在名称的前面。例如,CustomClass可以参考作为cc.CustomClass。
headers:要配置所有需要解析的头文件和%(cocosdir)s是的Cocos2d-x的引擎的根路径。
classes:要配置所有绑定所需的类。在这里,它支持正则表达式。因此,我们可以设置MyCustomClass。*在这里,用于查找多个特定的用法,你可以对照到tools/tolua/cocos2dx.ini。
skip:要配置需要被忽略的功能。现在绑定发电机无法解析的void *类型,并委托类型,所以这些类型的需要进行手动绑定。而在这种情况下,你应该忽略所有这些类型,然后再手动将它们绑定。你可以对照到配置文件路径下的cocos/scripting/lua-bindings/auto 。
rename_functions:要配置的功能需要在脚本层进行重命名。由于某些原因,开发者希望更多的脚本友好的API,所以配置选项就是为了这个目的。
rename_classes:不在使用。
remove_prefix:不在使用。
classes_have_no_parents:要配置是过滤器所需要的父类。这个选项是很少修改。
abstract_classes:要配置的公共构造并不需要导出的类。
script_control_cpp:是的。要配置脚本层是否管理对象的生命周期。如果没有,那么C++层关心他们的生命周期。
现在,它是不完善的,以控制原生对象的续航时间在脚本层。所以,你可以简单地把它设置为no。
—————————————————^_^————————————————
可能出现的问题:
1、LUA ERROR: [string “.\app/view/MyView.lua”]:103: error in function ‘lua_mysprite_MySprite_getNum’.
E:/myGenie/src/app/view/MyView.lua
16:07:44 argument #1 is ‘table’; ‘MySprite’ expected.
原因:我导出的MySprite只是一个类,在使用时直接调用其中的方法,并没有创建这个类,故MySprite并未被实例化。
解决方案:将要调用的方法getNum加static关键字。
- quick-cocos2dx将C++导出lua
- quick cocos2dx c-lua(1)
- quick cocos2dx c-lua(2)
- quick cocos2dx c-lua(3)
- quick-cocos2dx cocos2dx.lua
- Quick cocos2dx-Lua学习笔记
- cocos2dx 3.0 quick lua schedler
- quick cocos2dx lua 内存释放
- quick-cocos2d-x 导出 C/C++ API 给 Lua 使用
- cocos2dx quick lua 学习笔记1
- cocos2dx 3.0 quick lua transition action
- quick cocos2dx lua 网络图片 下载 自动更新
- quick-cocos2dx 3.3 c++绑定到Lua
- sublime运行quick-cocos2dx-lua 步骤详情
- Quick cocos2dx-Lua中计时器(scheduler)
- cocos2dx lua找不到导出类
- cocos2dx c++.lua +listView
- Quick-Cocos2dx-Community lua绑定,lua调用C++ 类
- dcmtk程序包简介
- Android实现UDP通信
- Spark DataFrame 介绍
- 非常全面的PHP header函数设置HTTP头的示例
- WebService-CXF-实例
- quick-cocos2dx将C++导出lua
- Markdown编辑器总结
- 基于map的海量数据归类
- iOS中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- 数据分析-人群画像和目标群体分析
- Ubuntu 软件安装
- 遍历Map的四种方法
- 开博记
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules