cocos2d-x quick 导出c++到Lua
来源:互联网 发布:佳能打印机扫描软件 编辑:程序博客网 时间:2024/05/29 10:55
原文地址:http://quick.cocoachina.com/?p=235
但是实际操作和作者有很多出处,发生了很多问题,以后肯定也会遇到别的问题,此篇做记录
MAC下遇到的问题:
1、sh build_luabinding.sh 指令报错
build_luabinding.sh: line 6: /bin/compile_luabinding.sh: No such file or directory
原因:$QUICK_COCOS2DX_ROOT路径没有找到,
换成自己的quick路径就可以了
2、
MyClass_luabinding.cpp 文件出错 :
MyClass_luabinding.cpp:41:4: error: use of undeclared identifier ‘MyClass’
MyClass::addTwoNumber(number1,number2);
^
1 error generated.
Use of undeclared identifier ‘MyClass’
原因:找不到‘MyClass’ 引入头文件:#include"MyClass.h"
这里写下自己的操作步骤:
1、写h和cpp文件
MyClass.h文件:
#ifndef __MY_CLASS_H_
#define __MY_CLASS_H_
class MyClass
{
public:
staticint addTwoNumber(int number1,int number2);
private:
MyClass(void) {}
};
#endif// __MY_CLASS_H_
MyClass.cpp文件
#include "MyClass.h"
#include "cocos2d.h"
int MyClass::addTwoNumber(int number1,int number2){
CCLOG("wade addTwoNumber");
return (number1 + number2);
}
创建 MyClass_luabinding.tolua 文件,并修改内容为:
class MyClass : public CCObject{public: static float addTwoNumber(float number1, float number2);};
创建build_luabinding.sh文件,内容如下:#!/usr/bin/env bashDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"cd "$DIR"OUTPUT_DIR="$DIR"MAKE_LUABINDING="
/Users/mavericks/Documents/android/quick-cocos2d-x-2.2.1-rc/bin/
/compile_luabinding.sh$MAKE_LUABINDING -E MyClass -d "$OUTPUT_DIR" MyClass_luabinding.tolua
成功编译sh文件后,会生成MyClass_luabinding.cpp 和 MyClass_luabinding.h 文件打开mac下的quick的xcode工程,然后将MyClass.h,MyClass.cpp,MyClass_luabinding.cpp 和 MyClass_luabinding.h加入到工程中的sources目录下
#include"MyClass_luabinding.h"
在applicationDidFinishLaunching方法中加入
经过上述修改后,重新编译运行项目应该就可以在 Lua 脚本中使用我们导出的 MyClass 对象极其方法了。
我们打开quick/player/welcome/scripts/scenes/WelcomeScene.lua
然后找到ctor方法,添加如下:
local num1 = 2
local num2 = 3
local num3 = MyClass:addTwoNumber(num1,num2)
print("wade:num:"..num3)
如果能正常输出,则证明编译成功了。
- cocos2d-x quick 导出c++到Lua
- quick-cocos2d-x 导出 C/C++ API 给 Lua 使用
- lua QUICK-COCOS2D-X
- quick-cocos2d-x 3.3 final 中cc.CardinalSplineTo:create导出到lua
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x v3.3-RC1快速自定义类导出Lua(用NDK r9d)
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- 在 quick-cocos2d-x 中导出 CCFileUtils::getFileData 给Lua使用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 2.26 使用tolua工具导出C++的类给Lua调用WINDOWS篇
- Quick-Cocos2d-x 2.26 用tolua导出C++类给lua调用WINDOWS篇例子2
- quick-cocos2d-x(lua) 文件拷贝操作
- quick cocos2d-x lua解析json文件
- quick lua cocos2d-x 屏幕 旋转 布局
- cocos2d-x(quick-lua)读取csv文件
- quick-cocos2d-x中Lua调用JAVA
- Copy List with Random Pointer
- ZOJ 1992 Sightseeing Tour
- 一步一步在OEL5.5 64位Linux上安装Oracle 10gR2 RAC(5)
- 树状视图拖放实现
- 字节对齐
- cocos2d-x quick 导出c++到Lua
- 学习JAVA的第一课——安装JDK+Eclipse
- apache 配置参考手册
- 一步一步在OEL5.5 64位Linux上安装Oracle 10gR2 RAC(6)
- 解析MySQL中mysqldump工具的基本用法
- Linux 内核网络协议栈 ------ TCP拥塞状态机 tcp_fastretrans_alert
- ural 1019 Line Painting
- 一步一步在OEL5.5 64位Linux上安装Oracle 10gR2 RAC(7)
- 20个代码生成器框架