Quick-Cocos2d-x 2.26 使用tolua工具导出C++的类给Lua调用WINDOWS篇

版本:Quick-Cocos2d-x 2.26 Release

参考:http://www.cnblogs.com/vokie/p/3816324.html 这篇博文 给了详细的操作,配有图,推荐大家看

参考:http://www.codeo4.cn/archives/746 这篇博文版本较老,而且是基于xcode

以第一篇博文为主,我把我自己实现了MyAdder这个类的方法写出来,我的Quick-Cocos2d-x 2.26 Release 是

在c:/work/quick-cocos2d-x目录

1、在C:\work\quick-cocos2d-x\lib\cocos2d-x\cocos2dx目录下创建MyAdder.h和MyAdder.cpp

MyAdder.h内容

#ifndef MY_ADDER
#define MY_ADDER

class MyAdder
{
public:
static int addTwoNumber(int a,int b);
};
#endif

MyAdder.cpp内容

#include "MyAdder.h"

int MyAdder::addTwoNumber(int a,int b)
{
return a+b;
}

2、在 C:\work\quick-cocos2d-x\lib\luabinding\cocos2dx 中创建MyAdder.tolua

MyAdder.tolua文件内容

class MyAdder : public CCObject
{
public:
    static int addTwoNumber(int a,int b);
};
3、在C:\work\quick-cocos2d-x\lib\luabinding\cocos2dx中的Cocos2d.tolua添加MyAdder.tolua

打开Cocos2d.tolua,在最后一行:

$pfile "cocos2dx/CCConfiguration.tolua" 后面

添加

$pfile "cocos2dx/MyAdder.tolua"

(tolua文件绑定成功了)

4、在命令行中执行C:\work\quick-cocos2d-x\lib\luabinding中的build.bat

开始使用tolua++的工具编译我定义的tolua文件了。

使用tolua++的主要目的是:

生成lua到c++文件调用的中间文件,也就是:

%QUICK_COCOS2DX_ROOT%\lib\cocos2d-x\scripting\lua\cocos2dx_support\LuaCocos2d.cpp

点击build.bat后,等待tolua++.exe编译生成LuaCocos2d.cpp文件,执行完后,看生成的LuaCocos2d.cpp文件

文件里面时候有MyAdder关键字,如果有,则生成成功了。)

5、 需要在LuaCocos2d.cpp文件添加一行,

在#include "SimpleAudioEngine.h"后面

添加

#include "MyAdder.h"

6、在C:\work\quick-cocos2d-x\player\proj.win32,用vs2012打开player.sln,然后在项目的

解决方案中,cocos2dx_2012>cocos2d-x>cocos2dx添加:MyAdder.h 和MyAdder.cpp

然后编译player

7、创建一个项目,然后修改lua,在MainScene.lua调用MyAdder

function MainScene:ctor()
local s=MyAdder:addTwoNumber(13,14)
ui.newTTFLabel({text = "Hello,World"..s,size = 64,align = ui.TEXT_ALIGN_CENTER})
:pos(display.cx,display.cy)
:addTo(self)
end

下一篇介绍同时在安卓中配置,现在windows调用的一个完整例子结束。

相关文章

操作步骤 1、创建cocos2d-x工程 2、新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCENE1_H__#defi...
开发环境:OS(WINDOWS 8.1 X64 企业版) cocos2d-x 2.2.1 vs2010 想给vs安装上cocos的模版,执行Install...
把创建项目做成一个批处理,当创建项目时可以省时省力很多。 操作步骤 1、在 E:cocos2d-x-2.2.1toolspr...
https://www.cnblogs.com/JiaoQing/p/3906780.html 四个响应函数 1 EventListenerPhysicsContact* evC...
转载于 http://www.cnblogs.com/kenkofox/p/3926797.html 熟悉js的dom事件或者flash事件的,基本都能立...
ScrollView(滚动容器)加载大量item时会导致游戏界面的卡顿,严重时整个界面会出现卡死的情况。最近项...