cocos2d-x从c++文件生成lua绑定文件及lua脚本文件

cocos2d-x从c++文件生成lua绑定文件及lua脚本文件,第1张

概述需要参考自己的工程目录\frameworks\cocos2d-x\tools\tolua\目录下的README.mdown文件下载安装相关的工具; (其中python需要安装32位的 --- 即使你是64位的系统; 其他几个工具也要装32位的) 本次测试使用的NDK是r10d; 1、准备文件: a.h a.cpp a.h =>  #ifndef __A_H__ #define __A_H__ #i

@H_419_1@需要参考自己的工程目录\frameworks\cocos2d-x\tools\tolua\目录下的README.mdown文件下载安装相关的工具;

@H_419_1@(其中python需要安装32位的 --- 即使你是64位的系统; 其他几个工具也要装32位的)

@H_419_1@本次测试使用的NDK是r10d;


1、准备文件:

a.h a.cpp

@H_419_1@a.h =>

#ifndef __A_H__
#define __A_H__

#include "cocos2d.h"

class A : public cocos2d::Node
{
public:
CREATE_FUNC(A);

virtual bool init();
voID testFunc();
};

#endif

@H_419_1@a.cpp =>

#include "a.h"
using namespace cocos2d;

bool A::init()
{
if (!Node::init())
{
return false;
}

return true;
}

voID A::testFunc()
{

}


2、修改配置文件:

进入=》 自己的工程目录\frameworks\cocos2d-x\tools\tolua\

复制cocos2dx.ini、genbindings.py,改名为my.ini,genbindings_my.py,然后修改这两个文件如下:

(1)修改genbindings_my.py:

@H_419_1@ try:

tolua_root = '%s/tools/tolua' % project_root
output_dir = '%s/../runtime-src/Classes/test/luabinding' % project_root

cmd_args = {'my.ini' : ('my','lua_my_auto'),\

}

* output_dir 是生成的绑定文件和lua脚本的存放路径

* cmd_args 是(待研究),总之,cmd_args中my.ini 和 my,这两个地方名字必须一致,lua_my_auto名字随便,这个是生成的绑定文件的名字;

(2)修改my.ini:

@H_419_1@[my] ==》 这个中括号中的内容和你文件名相同
# the prefix to be added to the generated functions. You might or might not use this in your own
# templates

prefix = my ==》@H_419_1@函数名的前缀,prefix同样可以和文件名相同

# create a target namespace (in JavaScript,this would create some code like the equiv. to `ns = ns || {}`)
# all classes will be embedded in that namespace

target_namespace = me ==》模块名


androID_headers = -I%(androIDndkdir)s/platforms/androID-14/arch-arm/usr/include -I%(androIDndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androIDndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androIDndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androIDndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include
androID_flags = -D_SIZE_T_defineD_


clang_headers = -I%(clangllvmdir)s/lib/clang/%(clang_version)s/include
clang_flags = -nostdinc -x c++ -std=c++11 -U __SSE__


cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/cocos/platform/androID -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s/external
cocos_flags = -DANDROID


cxxgenerator_headers =


# extra arguments for clang
extra_arguments = %(androID_headers)s %(clang_headers)s %(cxxgenerator_headers)s %(cocos_headers)s %(androID_flags)s %(clang_flags)s %(cocos_flags)s %(extra_flags)s


# what headers to parse
headers = %(cocosdir)s/../runtime-src/Classes/test/a.h ==》要转换的头文件路径,转换成绑定文件只需要类的头文件,不需要cpp文件,因为只需要类的声明


# what classes to produce code for. You can use regular Expressions here. When testing the regular
# Expression,it will be enclosed in "^$",like this: "^Menu*$".

classes = A ==》需要转换的类,支持正则表达式

总结

以上是内存溢出为你收集整理的cocos2d-x从c++文件生成lua绑定文件及lua脚本文件全部内容,希望文章能够帮你解决cocos2d-x从c++文件生成lua绑定文件及lua脚本文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1075790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存