tolua的一些用法

原文:https://www.cnblogs.com/CasualAttachment/p/7309368.html

3.     模拟协程:

coroutine.step(帧数,句柄,为等待结束继续执行时所需要的参数) 后两个参数可以没有

coroutine.yield() 挂起协程

step可以设定帧数。yield直接挂起协程,只有coroutine.resume() 可以重启协程

例子:这里要注意了,一定要用点来写方法。如果用冒号会自动调用!

 

4.     如何调用一些lua里没有的类的方法:

(1)     在项目中查找CustomSetting.cs文件,进入找到一个函数

(2)     把你要使用的类注册到这里

 

(3)     清空并重新generatorAll一下生成warp文件。

(4)     在lua中进行调用new()构造函数,或是addcomponent添加组件以获取实例!

 

在tolua-lua-unityEngine文件夹下已经封装好了一些unity中常用的值类型,可以不用包装就拿来使用。同样可以自定义一些功能类进行包装后在lua内使用。

 

5.     关于一些方法的使用:(待补充)

(1)GetComponent方法,传入的是string类型的参数。

(2)表的遍历:

 

(3)表的注意事项:

        在使用任何表内数据的时候都要table.data进行调用,否则就是比对字符串,要加上双引号””  如下面的id就要加上引号,因为前面没有加表名!

 

表在声明的同时赋值只能声明一层空间。如

        Table={}

        Table[”1”][“2”]=2  会报错。

        Table={{},{}}

        Table[”1”][“2”]=2   编译通过并能正常赋值。

commonfuc  里面存放了lua方法的API。

通过generateAll把对应C#文件生成为wrap文件前,需要在CustomSetting里进行注册

(4)在lua里怎么去掉字符串的括号:

使用gsub函数,三个参数分别是:要编辑的字符串,被替换的字符,替换后的字符

其中括号要用中括号括上才能去掉,不然去不掉。(不能使用[(Clone)]会乱码)

 

(5)在lua中使用二维数组:

(6)生成随机数:math.random(x,y)  math.abs求绝对值

(7)可变参数:Lua将函数的参数放在一个叫arg的表中

(8)#操作符,用来获取表中最大的键值,只对连续键值有效

       

发布了11 篇原创文章 · 获赞 8 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/a1047120490/article/details/105040192