美文网首页
2022-01-04 解决Unable to find styl

2022-01-04 解决Unable to find styl

作者: 凌枫望星月 | 来源:发表于2022-01-04 17:16 被阅读0次
    • 问题描述

      最近在项目中被要求解决一个Unable to find style 'AnimationCurveEditorBackground' in skin 'DarkSkin' Layout的警告,于是我双击警告到代码位置,发现是调用一个叫Cinema Suite的插件的接口,但是这个插件已经许久没有更新,项目用的还是1.4的版本,更离谱的是这个调用的接口是写在dll里面的,叫DirectorEditor.dll,ILCode里面有个地方是这么写的:
      IL code
      private void drawBackground()
      {
        GUI.Box(this.trackBodyBackground, GUIContent.none, (GUIStyle) "AnimationCurveEditorBackground");
        this.rect = this.trackBodyBackgroundNoVerticalScrollbar;
        this.BeginViewGUI(false);
        this.SetTickMarkerRanges();
        this.DrawMajorTicks(this.trackBodyBackground, (float) this.frameRate);
        this.EndViewGUI();
      }
    

    警告信息为:
    Unable to find style 'AnimationCurveEditorBackground' in skin 'DarkSkin' Layout


    • 问题解决

      于是我百度查了一番,均没有什么好的解决办法,我甚至把插件升级到最新的1.6版,结果还是木大,升级后不仅有报错,原来的功能也不能正常使用了。
      但是在查找的过程中,我发现了:

    1)这个同学将‘AS TextArea’中的AS去掉,就可以解决警告


    2)我想到能不能将AnimationCurveEditorBackground这个GUIStyle换成别的,就能解决这个警告问题,然后去搜索了怎么去修改dll,用微软提供的Ilasm.exe(IL 汇编程序)和Ildasm.exe(IL 反汇编程序)
    Download: /releases[ latest ]
    然后用微软文档来修改dll,先把dll反编译变成可编辑的il文件,再编译回去。
    有些同学应该可以在C盘找到的这两个工具,但是我没找到其中一个,下载后却发现两个版本可能对不上,所以去自己找的汇编程序。
    在修改il文件时将AnimationCurveEditorBackground更换为PopupCurveEditorBackground,问题解决。
    我猜是在一次unity更新后将内置的GUIstyle也做了更新,有些老版本的换了名字。

    这个问题在下一篇文章中得到验证查看Unity所有的默认UI效果 GUIStyle

    相关文章

      网友评论

          本文标题:2022-01-04 解决Unable to find styl

          本文链接:https://www.haomeiwen.com/subject/jqaqcrtx.html