cocos2dx 自定义绑定lua

1.根据readme.down的说明安装设置环境,例如当前说明内容如下
* Make sure that you have installed `android-ndk-r10c` or later.
* Download python2.7.3 (32bit) from (http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi).
* Add the installed path of python (e.g. C:\Python27) to windows environment variable named 'PATH'.
* Download pyyaml from http://pyyaml.org/download/pyyaml/PyYAML-3.11.win32-py2.7.exe and install it.
* Download pyCheetah from https://raw.github.com/dumganhar/my_old_cocos2d-x_backup/download/downloads/Cheetah.zip, unzip it to "C:\Python27\Lib\site-packages"
* Set environment variables `NDK_ROOT` and `PYTHON_BIN`

* Go to "cocos2d-x/tools/tolua" folder, and run "genbindings.py". The generated codes will be under "cocos\scripting\auto-generated\lua-bindings".

注意点:1)修改ndk为r9b版本,

2)PYTHON_BIN路径为.exe的全路径,例如当前(C:\Python27\python.exe)

2.修改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

3修改genbindings.py


4.生成frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto下的绑定文件

5

7.注册给lua使用

进入到文件夹

 C:\Users\user\Documents\Cocos\Link\frameworks\cocos2d-x\cocos\scripting\lua-bindings\manual

打开CCLuaStack.cpp,添加

#include "lua_cocos2dx_custom_auto.hpp"
register_all_cocos2dx_custom(_state);

猜你喜欢

转载自blog.csdn.net/PAN7086/article/details/71439446