• XLua踩坑,入门推荐


    https://github.com/Tencent/xLua

    另外,链接有官方教程,也有很多demo,多看多想。

    <1>  如何导入XLua

    1 打开github的链接,下载该项目的zip

    2 解压,打开该文件夹,找到Assets文件夹,把里面的两个文件夹:Plugins 和 XLua拖到Unity》project》Assets下,就导入成功le了。另外还要注意,由于要用到一个叫XLuaHotfixInject.exe的程序,也要将Toos文件夹按照上面的方式导入到unity。结果如下图

     

    3 导入Toos文件夹shi时,unity会报system.dll 文件重复的错误,删除掉提示重复的dll,结果如上图所示

    <2> 如何热更

    1 这里以官方案例 08 来说明如何操作。

    2 首先要先定义unity的宏,依次打开:file>build setting>player setting>other setting>scripting define symbols 在这个下面的文本框内输入 :HOTFIX_ENABLE  因为我是在电脑上运行的,所以我是在pc设置的窗口添加的,最终如下图:

     

    3 添加了上一步之后,你才会在菜单栏XLua里看到Hotfix inject in editor。这个时候

    时候如果你直接点XLua》HotFix inject editor,系统会报 please install the Tools 的错误,原因是路径不对,没有找到XLuaHotfixInject.exe。这个时候,找到报错的地方,然后修改exe的路径,如果文件路径和我上面的一样,可以直接修改为:

    var inject_tool_path = "Assets/Tools/XLuaHotfixInject.exe";

    4. 前面的步骤做完后,就可以运行08的示例,运行步骤:XLua>Generate cod,  然后XLua >Hotfix inject in editor,最后点击运行,就可以看到案例成功运行啦。

    5. 编译打包时遇到

    Assets/XLua/Gen/UnityEngineLightWrap.cs(723,60): error CS1061: Type `UnityEngine.Light' does not contain a definition for `shadowRadius' and no extension method `shadowRadius' of type `UnityEngine.Light' could be found. Are you missing an assembly reference?
    解决方案,在 static cs的配置文件中添加黑名单,黑名单最好放到Edit 文件夹下。添加如下

    new List<string>(){"UnityEngine.Light", "shadowRadius"},
    new List<string>(){"UnityEngine.Light", "shadowAngle"},


    6.  报“please install the Tools”

    没有把Tools安装到Assets平级目录,安装包,或者master下都能找到这个目录。

    7. 导入Tools 提示 ,system 和 system core重复导入

    An assembly `System' with the same identity has already been imported. Consider removing one of the references
    解决方案,把system的dll 全部删掉,如下

     

    8.  把Tools 文件夹导入到Asset 文件夹目录下还 提示 “please install the Tools”

    原因在mac 下不识别路径 ./Tools/XLuaHotfixInject.exe   改成 Assets/Tools/XLuaHotfixInject.exe

    文件在 Hotfix.cs 文件中的1615 行

    var inject_tool_path = "Assets/Tools/XLuaHotfixInject.exe";
    if (!File.Exists(inject_tool_path))
    {
    UnityEngine.Debug.LogError("please install the Tools");
    return;
    }

    游戏是由人创造出来的,你如果能够为开发人员提供高质量的工具,并帮助他们更好地完成自己的工作,包括帮助他们提高生产力、尝试新事物并进行实验,那么你就越有可能在这个行业中获得成功。
  • 相关阅读:
    linux之dup和dup2函数解析
    UNIX标准及实现
    UNIX基础知识
    HTML5学习笔记----html5与传统html区别
    c#设计模式-简单工厂
    c#设计模式-工厂模式
    MVC模式与三层架构的区别
    C# params传递多个参数
    SFC20 功能例子 注解
    工业以太网:十个核心基础概念
  • 原文地址:https://www.cnblogs.com/rxs123/p/10435416.html
Copyright © 2020-2023  润新知