• xLua使用require改变路径加载Lua脚本


    这个问题我纠结了好久,应该是属于偏新手的一个问题,在写代码的时候因为两个lua脚本的关联问题,很多新人应该也会纠结于此。

    xLua官方的例子加载脚本是这样的:

    LuaEnv luaenvScriptCtrl = new LuaEnv();
    luaenvScriptCtrl.DoString(@" require('LuaScriptList')");

    此时如果lua脚本不在Resources路径下,或者不在默认的目录下,此时是加载不到对应的lua脚本的。

    官方例子代码:SignatureLoaderTest.cs,第11行开始。

    解决方式如下:

            LuaEnv luaenvScriptCtrl = new LuaEnv();
            LuaEnv.CustomLoader method = CustomLoaderMethod;
    
            //添加自定义装载机Loader  
            luaenvScriptCtrl.AddLoader(method);
            luaenvScriptCtrl.DoString(@" require('LuaScriptList')");
    
    
    
        private byte[] CustomLoaderMethod(ref string fileName)
        {
            Debug.Log(fileName);
                fileName = "g2007_bai_jia_le/"+ fileName;
            //找到指定文件  
            fileName = Application.dataPath + "/AssetsBuilt/" + fileName.Replace('.', '/') + ".lua";
            if (File.Exists(fileName))
            {
                return File.ReadAllBytes(fileName);
            }
            else
            {
                return null;
            }
        }

    这下明白了,

    fileName 就是LUA所在的位置,如果要适配手机,需要再加一个适配手机的宏。
  • 相关阅读:
    postman使用详解
    如何测试一个水杯
    selenium3(java)之屏幕截图操作
    C语言随机点名程序
    关于测试执行的一些总结与思考
    小议SQL数据插入
    BS架构和CS架构的区别
    Oracle伪列(ROWNUM)的使用
    Loadrunner学习资料
    【Apache运维基础(2)】主配置文件说明
  • 原文地址:https://www.cnblogs.com/vsirWaiter/p/7360010.html
Copyright © 2020-2023  润新知