zoukankan      html  css  js  c++  java
  • 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所在的位置,如果要适配手机,需要再加一个适配手机的宏。
  • 相关阅读:
    2190 ACM 数学概率论的乘法和加法原则
    2186 ACM 水题 int 向下取整
    2110 ACM Crisis of HDU 母函数
    2079 ACM 选课时间 背包 或 母函数
    2111 ACM 贪心 水题
    2108 ACM 向量积 凹凸
    My Web Developer Roadmap
    2109 ACM 排序
    2107 ACM 水题
    vi的常用命令
  • 原文地址:https://www.cnblogs.com/vsirWaiter/p/7360010.html
Copyright © 2011-2022 走看看