Unity3D开发小贴士(八)tolua库
2016-11-12 23:11
483 查看
ToLua插件自带了一个tolua库,这个库可以让我们更灵活的使用Lua。
tolua库里包含以下方法:
setpeer在Unity3D开发小贴士(七)Lua里扩展C#对象使用过,实际上相当于为userdata设置了一个lua代理(proxy)——table,所有调用userdata的方法都会调用table的同名函数,访问或者设置userdata的属性时也会访问或设置table的变量。
initset和initget也在Unity3D开发小贴士(七)Lua里扩展C#对象使用过,这两个方法是为一个table的成员变量设置get和set“访问器”。它们实际上都是返回了一个表,暂命名为gettable和settable,当访问table里的变量的时候,会调用gettable里的同名函数(如果有),而设置table的里的变量的时候,会调用settable里的同名函数(如果有)。当然这些同名函数可以由你自己实现。
int64和uint64这两个方法相当于调用了int64库和uint64库的new方法。Lua5.3已经支持了这两种数据类型,而对于旧版本的Lua来讲,这两个方法实际上返回的是userdata,不过这两种userdata可以像正常的数一样加减乘除、取余、取相反数、乘方,还有比较和打印,此外还提供了tostring和equals函数,以及(不怎么好用的)tonum2函数。tonum2会返回两个数,第二个数是右移32位的值,第一个数是剩下的值(&0xFFFFFFFF)。
tolua库里包含以下方法:
gettime | 获取系统时间 |
typename | 获取对象的类型名称 |
setpeer | 设置替身 |
getpeer | 获取替身 |
getfunction | 获取函数 |
initset | 初始化set“访问器” |
initget | 初始化get“访问器” |
int64 | 生成一个int64对象 |
uint64 | 生成一个uint64对象 |
initset和initget也在Unity3D开发小贴士(七)Lua里扩展C#对象使用过,这两个方法是为一个table的成员变量设置get和set“访问器”。它们实际上都是返回了一个表,暂命名为gettable和settable,当访问table里的变量的时候,会调用gettable里的同名函数(如果有),而设置table的里的变量的时候,会调用settable里的同名函数(如果有)。当然这些同名函数可以由你自己实现。
int64和uint64这两个方法相当于调用了int64库和uint64库的new方法。Lua5.3已经支持了这两种数据类型,而对于旧版本的Lua来讲,这两个方法实际上返回的是userdata,不过这两种userdata可以像正常的数一样加减乘除、取余、取相反数、乘方,还有比较和打印,此外还提供了tostring和equals函数,以及(不怎么好用的)tonum2函数。tonum2会返回两个数,第二个数是右移32位的值,第一个数是剩下的值(&0xFFFFFFFF)。
相关文章推荐
- Unity3D开发小贴士(十一)ToLua协同程序
- Unity3D开发小贴士(四)调用Lua脚本
- Unity3D开发小贴士(三)愉快的使用Lua开发
- Unity3D开发小贴士(七)Lua里扩展C#对象
- [Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(中)
- [Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘终结篇:UniLua热更新完全解读
- Unity3D开发小贴士(十五)状态机组件
- 【COCOS2DX-LUA 脚本开发之十一】C/C++与Lua之间进行数据函数交互以及解决“PANIC: unprotected error in call to Lua API (attempt t
- Unity3D开发小贴士(十二)Billboard
- 【COCOS2DX-LUA 脚本开发之十一】C/C++与Lua之间进行数据函数交互以及解决“PANIC: unprotected error in call to Lua API (attempt t
- 【COCOS2DX-LUA 脚本开发之十一】C/C++与Lua之间进行数据函数交互以及解决“PANIC: unprotected error in call to Lua API (转)
- Unity3D开发小贴士(十四)JsonUtility
- [Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(下)
- [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)
- [Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘终结篇:UniLua热更新全然解读
- Unity3D开发小贴士(十八)各种事件的执行顺序
- Unity3D开发小贴士(九)序列化和反序列化Dictionary
- [Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(中)
- [Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上)
- Unity3D开发小贴士(六)Lua里调用C#扩展