加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Quick-Cocos2d-x v3.3-RC1快速自定义类导出Lua(用NDK r9d)

发布时间:2020-12-14 20:09:26 所属栏目:百科 来源:网络整理
导读:环境准备: 1)下载,安装python2.7.3 2)添加python 环境变量,添加到path 1 PYTHON_ROOT=C:/Python27 3)安装: http://pyyaml.org/download/pyyaml/PyYAML-3.10.win32-py2.7.exe 4)下载并解压到C:Python27Libsite-packages https://raw.github.com/du

环境准备:

1)下载,安装python2.7.3

2)添加python 环境变量,添加到path

1
PYTHON_ROOT=C:/Python27

3)安装:http://pyyaml.org/download/pyyaml/PyYAML-3.10.win32-py2.7.exe

4)下载并解压到C:Python27Libsite-packages

https://raw.github.com/dumganhar/my_old_cocos2d-x_backup/download/downloads/Cheetah.zip


导出自定义C++:

打开payer,我们新建个工程 例如t1,注意:工程最好不要放在quick-x的目录中,更好的做法是放在某个盘的单独的一个目录下,这样编译andriod时才不会导致目录过长问题。

我的工程为 t1(例如),目录为 E:androidquickwrokt1(例如),这时打开E:androidquickwrokt1frameworkscocos2d-xtoolstolua ,将附件tolua,解压拷贝到这里。打开E:androidquickwrokt1frameworkscocos2d-x ,新建个myclass目录,将附件myclass的自定义类拷贝到这里。


注意:

我这样用的是ndk,r9d的版本,在E:androidquickwrokt1frameworkscocos2d-xtoolstolua目录下,生成lua接口的配置文件为ini, 里面有android_headers中,在ndk r9b 用的是4.7。

而我们用的却是ndk r9d,偷懒的方法就是将ini文件中的android_headers,有4.7的地方改成4.8。


附件当中,ini有详细的说明。


最后一步

在E:androidquickwrokt1frameworkscocos2d-xtoolstolua 打开命令窗口, 输入Python MYgenbindingsm.py

这是我的例子:

生成的接口文件便在E:androidquickwrokt1frameworkscocos2d-xmyclass 下 , 这里可以看myclass.ini注释

生成成功后,vs打开E:androidquickwrokt1frameworksruntime-srcproj.win32工程

在AppDelegate.cpp 将我们的lua接口注册好

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include"myclass/lua_myclass_auto.hpp"
static void quick_module_register(lua_State*L)
{
luaopen_lua_extensions_more(L);
lua_getglobal(L, "_G" );
if (lua_istable(L,-1)) //stack:...,_G,
{
register_all_quick_manual(L);
//extra
luaopen_cocos2dx_extra_luabinding(L);
register_all_cocos2dx_extension_filter(L);
luaopen_HelperFunc_luabinding(L);
//添加自定义的lua文件
register_all_myclass(L);
#if(CC_TARGET_PLATFORM==CC_PLATFORM_IOS)
luaopen_cocos2dx_extra_ios_iap_luabinding(L);
#endif
}
lua_pop(L,1);
}

编译,生成的exe在 E:androidquickwrokt1runtimewin32 目录下


注意: 由于我们是player 新建的项目,而我们没编译player,只编译了exe,所以player 便没有我们导出的接口。

但是,如果我们用Cocos Code IDE 1.0.2(这个版本)新建的quick-x 3.3rc1 的工程,就能使用自己的接口,当然你先要配置项目运行那里,选择编译生成的exe。

但我用不惯Cocos Code IDE 1.0.2,就把player 的工程 ,按照t1的工程编译一次,生成的便是有我们导出的接口的player,目前只能这样,还是比较麻烦的。毕竟要调试自己的C++代码,便要编译两次。

myclass.rar

tolua.rar


Cocos引擎中文官网现面向广大Cocos引擎相关开发者征集优秀教程,欢迎给位童鞋踊跃投稿!来稿请发送至:support@cocos.org。

来源网址:http://www.cocoachina.com/bbs/read.php?tid-273349.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读