Cocos2dx-3.0-rc0版本Lua的配置与使用
2014-12-23 11:35
477 查看
以下是在WIN7 + VS2012环境下测试!
一、下载
到官网下载Cocos2dx-3.0-rc0。
二、导出C++接口到Lua方法
这一步可以按官方提供的文档(\cocos2d-x-3.0rc0\tools\tolua\ README.mdown)一步一步操作:
On Windows:
------------
* Make sure that you have installed `android-ndk-r9b`.
* 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.10.win32-py2.7.exe and install it.
* Download pyCheetah from https://raw.github.com/dumganhar/cocos2d-x/download/downloads/Cheetah.zip, unzip it to "C:\Python27\Lib\site-packages"
* Set environment variables (`NDK_ROOT`)
* Go to "cocos2d-x/tools/tolua" folder, and run "genbindings.py". The generated codes will be under "cocos\scripting\auto-generated\js-bindings".
这里有个点要注意:一定要按上面的版本要求下载对应的工具,到目前官网上NDK的最新版本是r9d,而且这里是要求r9b。如果不是按版本要求就会出现以下问题:
'functional' file not found 的错误
解决方法有两个:a. 下载对应版本 b. 把所有的.ini文件(\cocos2d-x-3.0rc0\tools\tolua目录下)里的4.7修改成4.8
完成之后,就是按最后一步说的,在命令行下执行cocos2d-x/tools/tolua目录下的genbindings.py。
最后结果就是在\cocos2d-x-3.0rc0\cocos\scripting\lua-bindings\auto目录下会生成一些.cpp和.hpp文件。
三、导出自定义的C++接口到Lua方法
到第二步,就是了解了导出的大概方法。我们最终的目的还是要导出自定义的接口。
这一步参考了这篇博客(http://www.cnblogs.com/mrblue/)。
总结了一下步骤:
1:环境,如果第二步是对的就OK了
2:写一个自己的C++类(LuaSprite.h这也是我测试cocos2dx-2.x版本时候的例子,继续用)
3.编写python脚本,直接修改原来的genbindings_New.py文件(复制一份)
a.修改生成目录到我们自己的工程目录:output_dir
b.修改命令参数:cmd_args
4. 修改ini配置文件,也就是上面cmd_args里配置的.ini文件(myclass.ini),同样的复制一份原来的.ini文件修改。
主要修改以下几个:
[myclass]
prefix = myclass
target_namespace =
headers = %(cocosdir)s/tests/lua-empty-test/project/Classes/LuaSprite.h
classes = LuaSprite*.
skip =
abstract_classes =
这里有几个地方要注意的:
a. 节点名要跟cmd_args里配置的一致
b. Classes这项按照参考的那篇blog里配置方法,生成的文件里没内容的,后来反复对比原来的配置修改成现在这样,最后成功了
5. 最后执行genbindings_New.py,如果成功你会看到:
?
同时也会在,指定的目录下生成:
api文件夹、lua_MyClass_auto.cpp、lua_MyClass_auto.hpp
其中lua_MyClass_auto.cpp里有个注册函数内容如下:
?
到目前为止完成了环境配置与自定义接口Lua接口。
一、下载
到官网下载Cocos2dx-3.0-rc0。
二、导出C++接口到Lua方法
这一步可以按官方提供的文档(\cocos2d-x-3.0rc0\tools\tolua\ README.mdown)一步一步操作:
On Windows:
------------
* Make sure that you have installed `android-ndk-r9b`.
* 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.10.win32-py2.7.exe and install it.
* Download pyCheetah from https://raw.github.com/dumganhar/cocos2d-x/download/downloads/Cheetah.zip, unzip it to "C:\Python27\Lib\site-packages"
* Set environment variables (`NDK_ROOT`)
* Go to "cocos2d-x/tools/tolua" folder, and run "genbindings.py". The generated codes will be under "cocos\scripting\auto-generated\js-bindings".
这里有个点要注意:一定要按上面的版本要求下载对应的工具,到目前官网上NDK的最新版本是r9d,而且这里是要求r9b。如果不是按版本要求就会出现以下问题:
'functional' file not found 的错误
解决方法有两个:a. 下载对应版本 b. 把所有的.ini文件(\cocos2d-x-3.0rc0\tools\tolua目录下)里的4.7修改成4.8
完成之后,就是按最后一步说的,在命令行下执行cocos2d-x/tools/tolua目录下的genbindings.py。
最后结果就是在\cocos2d-x-3.0rc0\cocos\scripting\lua-bindings\auto目录下会生成一些.cpp和.hpp文件。
三、导出自定义的C++接口到Lua方法
到第二步,就是了解了导出的大概方法。我们最终的目的还是要导出自定义的接口。
这一步参考了这篇博客(http://www.cnblogs.com/mrblue/)。
总结了一下步骤:
1:环境,如果第二步是对的就OK了
2:写一个自己的C++类(LuaSprite.h这也是我测试cocos2dx-2.x版本时候的例子,继续用)
#ifndef cocos2dx_lua_tests_by_guo_LuaSprite_h #define cocos2dx_lua_tests_by_guo_LuaSprite_h #include "cocos2d.h" using namespace cocos2d; class LuaSprite: public cocos2d::Sprite { public: int varInt; static LuaSprite* createLuaSprite(const char* _name); void LuaSpriteInit(); void LuaCallFun(); }; #endif
3.编写python脚本,直接修改原来的genbindings_New.py文件(复制一份)
a.修改生成目录到我们自己的工程目录:output_dir
b.修改命令参数:cmd_args
4. 修改ini配置文件,也就是上面cmd_args里配置的.ini文件(myclass.ini),同样的复制一份原来的.ini文件修改。
主要修改以下几个:
[myclass]
prefix = myclass
target_namespace =
headers = %(cocosdir)s/tests/lua-empty-test/project/Classes/LuaSprite.h
classes = LuaSprite*.
skip =
abstract_classes =
这里有几个地方要注意的:
a. 节点名要跟cmd_args里配置的一致
b. Classes这项按照参考的那篇blog里配置方法,生成的文件里没内容的,后来反复对比原来的配置修改成现在这样,最后成功了
5. 最后执行genbindings_New.py,如果成功你会看到:
?
api文件夹、lua_MyClass_auto.cpp、lua_MyClass_auto.hpp
其中lua_MyClass_auto.cpp里有个注册函数内容如下:
?
相关文章推荐
- cocos2dx3.0 + eclipse + android + lua环境配置
- cocos2dx 插件Babelua的配置和使用
- cocos2dx 2.x版本:简化提炼tolua++绑定自定义类到lua中使用
- cocos2dx 3.x以上版本 lua中使用protobuf
- Android Studio 版本迁移的配置问题以及 GreenDAO3.0的配置使用
- 【cocos2dx开发技巧6】脚本lua的使用--开发环境的配置
- cocos2dx-lua 笔记 >使用json作为配置文件
- android studio 3.0版本下使用lambda表达式的正确配置姿势
- cocos2dx 3.15 视频播放实现 lua 以及c++ 版本VideoPlayer的使用注意 与详细示例
- cocos2dx 2.x版本:简化提炼tolua++绑定自定义类到lua中使用
- cocos2dx3.0 lua项目创建cpp文件时候不能导入extensions头文件时无法使用或报错
- ThinkPHP3.0使用pdo方式连接sqlserver 2000、mssql 2000的配置,直接上配置文件,php版本是php5.2,服务器环境是ComsenzEXP
- Kotlin编程之AndroidStudio(包括3.0与2.x版本)配置与使用
- Linux 下 Subversion 版本管理工具 配置和使用
- CKEditor 3.0(FCKEditor3.0)的简单安装配置使用
- phpmyadmin3.0 在php5.3版本下的使用
- 使用FastReport 3.0及以上版本创建动态报表的几个技巧(转)
- log4net 简单使用与配置(版本 log4net 1.2.9 )
- CVS版本控制的安装配置与使用
- NHibernate2.1.0版本中使用Oracle数据库时,在配置文件中需要注意写上Oracle的版本