pc8888888 发表于 2022-7-17 09:27

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)#操作符,用来获取表中最大的键值,只对连续键值有效
页: [1]
查看完整版本: tolua的一些用法