Xlua中C#调lua的一些总结

学习XLua的话首先我们需要导入XLua的包,在GitHub上面下载项目之后,我们需要导入的只是Xlua项目的Assets文件夹下的XLua文件夹和Plugins文件夹。导入成功之后在Unity的工具栏会有XLua这一栏,打开之后会有"Generate Code" 和"Clear Generated Code"这两个选项,作用分别是生成lua相关的文件和清除lua相关的文件,一次导入的话,我们需要先清空一次,再重新生成。一 . lua解析器 要运行在C#中运行lua代码的话,我...
摘要由CSDN通过智能技术生成
学习XLua的话首先我们需要导入XLua的包,在GitHub上面下载项目之后,我们需要导入的只是Xlua项目的Assets文件夹下的XLua文件夹和Plugins文件夹。导入成功之后在Unity的工具栏会有XLua这一栏,打开之后会有"Generate Code" 和"Clear Generated Code"这两个选项,作用分别是生成lua相关的文件和清除lua相关的文件,一次导入的话,我们需要先清空一次,再重新生成。
 
一 . lua解析器
 
      要运行在C#中运行lua代码的话,我们首先需要引入using XLua 这个命名空间,我们需要用到的是其空间下的LuaEnv,即lua解析器。使用lua解析其需要先new一个对象,通过这个对象使用DoString,他有三个参数分别是 byte[] chunk,我们要运行的lua代码,
string chunkName = “chunk”,可以传入文件名lua代码报错时就会显示是哪个文件报错了,LuaTable env = null,这个和上面的类似,传入解析器报错时显示是哪个解析器出的问题。
     DoString除了可以运行普通的lua代码外还需要注意的是,它运行lua的require函数,估计是通过Resources.Load去加载lua脚本,所以此时需要把文件放在Resources文件夹下,而Resources不支持lua文件,所以我们要在lua脚本后面添加txt的后缀。
     除此之外解析器中还有两个比较重要的函数分别是Tick()和Dispose(),作用分别是清除lua中我们没有手动释放的对象(垃圾回收),一般在帧更新中定时执行或者切换场景时执行,另一个则是消耗解析器。
 
二.路径重定向
 
     在lua项目中,我们的lua代码是不可能存放在Resources文件夹下的,这里XLua为我们提供了lua解析器的读取路径重定向的方法AddLoader(...),它需要我们传入一个委托  byte[] CustomLoader( ref string filepath) ,我们可以自己去实现,首先是拼凑出文件的路径 string path
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值