xLua中lua文件加载方式

1. 直接执行字符串方式

 LuaEnv luaenv = new LuaEnv();
luaenv.DoString("CS.UnityEngine.Debug.Log('hello world')");
luaenv.Dispose();

2. 通过require加载lua文件方式,require加载的文件路径包括Resources和内置的一些路径。在Resources下存放一个HelloWorld.lua.txt文件

 LuaEnv luaenv = new LuaEnv();
luaenv.DoString("require 'HelloWorld'");
luaenv.Dispose();

3. 自定义loader加载

 using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Net;
using UnityEngine;
using XLua; public class MyLuaTest : MonoBehaviour
{
private LuaEnv _luaEnv = null;
// Start is called before the first frame update
void Start()
{
_luaEnv = new LuaEnv();
_luaEnv.AddLoader(CustomMyLoader);
_luaEnv.DoString("require 'CustomDIRLuaFile'");
} private static byte[] CustomMyLoader(ref string fileName)
{
byte[] byArrayReturn = null; // 定义lua路径
string luaPath = Application.dataPath + "/Scripts/LuaScripts/" + fileName + ".lua";
// 读取lua路径中指定lua文件内容
string strLuaContent = File.ReadAllText(luaPath);
// 数据类型转换
byArrayReturn = System.Text.Encoding.UTF8.GetBytes(strLuaContent); return byArrayReturn;
} void OnDestroy()
{
_luaEnv.Dispose();
}
}

注释:

  通过AddLoader可以注册回调,该回调参数是字符串,lua代码里调用require是,参数将会自动传给回调,回调中就可以根据这个参数去加载指定文件

不同加载方式分析:

  1. 直接使用DoString方式加载字符串,开发调试时可以使用
  2. 使用require方式加载,lua文件后缀需为txt,文件必须放在Resources目录下,否则无法加载到文件
  3. 自定义loader则可以把lua文件放在任意合法文件夹下,且文件后缀不用增加txt标识

最新文章

  1. SQL Server中一个隐性的IO性能杀手-Forwarded record
  2. Speed-BI云平台正在公测中,欢迎大家体验!
  3. matlab 画三维图函数
  4. 《Python CookBook2》 第一章 文本 - 过滤字符串中不属于指定集合的字符 && 检查一个字符串是文本还是二进制
  5. Linux用户行为日志审计
  6. Linux Shell编程(13)——数字常量
  7. 1005 Jugs
  8. JQuery Ajax实例总结
  9. FTP文件操作之删除文件
  10. JavaScript图片库(简单的应用案例)
  11. L2 约束的最小二乘学习法
  12. Android开发技巧——自定义控件之组合控件
  13. row_number() over (partition by order by)的用法
  14. 阿里云上 配置 vsftpd 配置文件 (一个成功例子)
  15. 1-JRE与JDK等知识
  16. 2019.03.02 bzoj2565: 最长双回文串(pam)
  17. ng4.0 使用[innerHTML]动态插入的富文本如何设置样式
  18. Xilinx FPGA复位逻辑处理小结(转)
  19. uint8_t / uint16_t / uint32_t /uint64_t
  20. 《Pro SQL Server Internals, 2nd edition》的CHAPTER 3 Statistics中的Introduction to SQL Server Statistics、Statistics and Execution Plans、Statistics Maintenance(译)

热门文章

  1. IIS发布网站常见MIME扩展类型添加
  2. vue中导入bootstrap.css
  3. SQL Server 常用的数据类型
  4. 死磕java(1)
  5. Java入门基础(类)
  6. GORM入门指南
  7. Codeforces_462_B
  8. 机器学习(ML)十二之编码解码器、束搜索与注意力机制
  9. Spring事务中的隔离级别
  10. Python常用库 - logging日志库