找回密码
 立即注册
查看: 327|回复: 0

Xlua学习

[复制链接]
发表于 2021-8-13 11:51 | 显示全部楼层 |阅读模式
1.Xlua中在哪添加新的搜索路径,如何自定义搜索脚本路径


2.util.lua脚本的路径


3.脚本最后的return含义:返回到之前require这个lua脚本的地方,一般用一个变量来接,返回的一般是一个表。


4.如何打印已经加载过的表(require列表)
for k,v in pairs(package.loaded) do
         print(k)
end  
5.lua behaviour组件的lua脚本里的表如何在其他脚本调用
  1.插入表:主要是luabehaviour运行的lua脚本其实没有require,可以使用这个方法可以让该表可以跨脚本使用。PlayerViewer是表名
    _G.PlayerViewer=PlayerViewer
  2.获取其他物体上的lua behaviour组件,获取里面的LuaTable的引用scriptEnv。然后就可以通过这个引用来调用表了。
  


  
  TipBox:GetComponent("LuaBehaviour").scriptEnv.showTip
6.如何写枚举:  参数分别为枚举表和起始下标
    function CreateEnumTable(tbl, index)       local enumtbl = {}       local enumindex = index or 0       for i, v in ipairs(tbl) do           enumtbl[v] = enumindex + i       end       return enumtbl   end  
7.Xlua的协程,需要引用这个脚本:
local yield_return = (require 'cs_coroutine').yield_return
co = coroutine.create(function()
                   print("协程启动");
                   yield_return(CS.UnityEngine.WaitForSeconds(3))
                   print('Wait for 3 seconds')
                   print("协程结束")
end)
coroutine.resume(co)
8.关于lua的表删除的是对应位置。但是存的时候也要把键存成数字,不能是字符串为键,不然删不掉。也就是说remove这种删除方式只能删除有顺序的东西,默认下标为1234这种的东西


9.在开发时使用Xlua可以不用Generate。如果Generate后,增加新的 [LuaCallCSharp]标签后还要进行Generate,或是clear All Generate。
  如何在XLUA中使用DOTween插件?见收藏内的内容
10.lua中的代码如果开启了协程,报错unity中不会提示。
  在开启协程前面加上一个assert就可以打印出来了


11.怎么在Xlua中接入C#的数组?
  没法接,只能在C#里想办法把数据转换成链表结构传入LUA,就像这样:
  


12.XLUA中如何在协程外关闭所有协程?
  XLUA内定义的协程其实还是调用了C#的协程,就像这样:
  


  我们想要关闭协程只要在这里调用一下StopAllCoroutines()函数就可以了。注意,这个函数只能关闭本behaviour下的协程,其他脚本的协程可是关不掉的
  记得在lua脚本中注册一下停止协程的函数哦
  


13.LUA中不支持64位整数的形式(long)
  在编译器下运行是没有问题的,不过如果发布到手机端后会导致程序闪退的情况。
  这种时候如果服务器发过来的数据结构是long长整形的话,可以在解包的时候使用一个新的int变量进行存储,然后调用这个int变量,就不会闪退了


转载于:https://www.cnblogs.com/CasualAttachment/p/7326920.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 09:25 , Processed in 0.095596 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表