tolua
海洋
这个作者很懒,什么都没留下…
展开
-
tolua++参考手册(翻译一)tolua++使用
原文地址: http://www.codenix.com/~tolua/tolua++.html 译者注:在网上貌似没有对应的tolua中文版文档,故心血来潮,翻译了第一部分:tolua使用。第一次翻译,出了很多错误。可能还潜在很多的错误,建议和原版一起阅读。如果有错误,希望各位看官指出,谢谢。Tolua++是tolua的升级版,是把C/C++和lua代码结合使用的转载 2012-05-17 17:49:16 · 487 阅读 · 0 评论 -
tolua++初探(八)(转)
这次多定义了两个函数toDerived1和toDerived2,全局的。我们也可以把他们直接放在类中,或者一个MODULE中。module大概是 类似的namespace的东西,把一堆杂七杂八的家什如变量、常量、函数、类实例等放在一起,在lua中通过"."来访问。下面是手册中的例子:module mod{ #define Nexternint var; in转载 2012-05-18 17:44:41 · 404 阅读 · 0 评论 -
tolua++初探(六)(转)
最后是inheritance.lua文件: print("now in inheritance.lua!")--access global button print("global button test")lbutton:SetAlpha(0.5)print(lbutton:GetAlpha()) lbutton:SetID(100)lbu转载 2012-05-18 17:42:46 · 572 阅读 · 0 评论 -
tolua++初探(五)(转)
这个……,tolua++支持采用了单继承的类的直接导出,在lua中可以像在C++中那样访问基类的方法。和其它简单类的导出没什么区别。 只是个简单的示例,我们定义一个控件基类,从它派生一个按钮类。然后在lua中分别访问基类和按钮类的方法。我们导出一个全局变量lbutton,同时也在lua中生成一个新button。 先看实际的头文件inheritance.h,我把实现也写在了转载 2012-05-18 17:41:54 · 492 阅读 · 0 评论 -
tolua++初探(四)(转)
聚合是最常见的构造新类的方式了,另一个是继承。tolua++支持单继承,后面会提到继承的例子。这里先看看怎么将利用了聚合的类导出到lua中。 我的目的是想在Lua中使用C++类的实例,而不是在lua中生成C++类实例,所以我在利用tolua++向lua导出类时一般不导出构造函数,这样就 无法在lua中生成类实例。 但是为了演示的方便,这个例子中用到的两个简单类CNumber和CMes转载 2012-05-18 17:40:51 · 554 阅读 · 0 评论 -
tolua++初探(三)(转)
利用tolua++导出类到lua中简单方便,你可以导出静态成员函数、普通成员函数、静态成员变量、普通成员变量,你也可以指定类的哪些方法被导出。你可以将具有单继承的派生类导出,派生类可以很自然地访问基类的方法。更多的细节,请参考tolua++的在线文档。 首先生成实际的c++头文件,定义我们要导出的类。tclass.h内容如下:#ifndef _TESTCLASS_H转载 2012-05-18 17:37:52 · 1092 阅读 · 0 评论 -
tolua++初探(二)(转)
tolua++的源码包中有很多测试例子。这里我用更最简单的例子来学习。 第一个例子是数组。仅仅是把C++中的一个数组导出到Lua中,可以在脚本中访问并修改。 tarray.pkg文件: $#include "tarray.h"extern int g_Arr[10]@Arr; 很简单,$#include "tarray.h"转载 2012-05-18 17:36:44 · 808 阅读 · 0 评论 -
tolua++初探(一)(转)
用luaplus试验了下,想把简单的C++类映射到lua脚本中不难,但是复杂一点的,比方说类的聚合、继承等,比较麻烦。我试验了两天,用表中表来实 现是可以的,但自己弄太麻烦了。说到底,我只是想用一下而已,不是想从头弄一个系统。 用CEGUI时发现它用了tolua++,从网上DOWN了源码(1.0.92),支持Lua5.1。我用VS2005,用源码包里的sln顺利编译出 tolua++.ex转载 2012-05-18 17:35:01 · 567 阅读 · 0 评论 -
tolua++初探(七)(转)
这是学习tolua++的最后一篇了。在这一篇里完成一个稍微复杂一点的例子(^_^其实还是很简单)。 导出三个类CBase、CDerived1、CDerived2到lua,导出两个函数toDerived1、toDerived2。lua脚本中声明两 个函数Derived1Test和Derived2Test,我们在C++中调用。Derived1Test和Derived2Test会调用 toDer转载 2012-05-18 17:43:52 · 435 阅读 · 0 评论 -
tolua++参考手册(翻译二)tolua++类型、函数部分详解
Basic typesTolua自动将C/C++的基本类型映射到lua的基本类型。因此,char, int, float, 和double映射到Lua的number类型;char *映射到string;void *映射到userdata。Types may be preceded by modifiers (unsigned,static, short, const, etc.);然而转载 2012-05-17 17:52:41 · 627 阅读 · 0 评论 -
tolua++初探(九)(转)
这次驱动文件有了点新的变化:1)两个全局导出函数;2)调用lua函数的代码。分开来看。 导出函数toDerived*很简单,只是调用dynamic_cast来向下转换而已。如果转换失败,dynamic_cast会返回null。当我们 要从基类指针转换到派生类指针时,最好用dynamci_cast,直接强制转换是危险的,除非你明确的知道某个指针指向的对象是什么。 在C++中调用lua转载 2012-05-18 17:45:45 · 616 阅读 · 0 评论