C# Unity3d动画师:NullReferenceException:对象引用未设置为对象的实例

C# Unity3d动画师:NullReferenceException:对象引用未设置为对象的实例,c#,unity3d,C#,Unity3d,这个错误发生在我关闭unity(我保存了所有内容)之后,前几天我打开它,错误出现了。 我试图创建预置,但无法使用某些主题中提到的调试日志 public void Show() { animator.Play("FadeInUI"); cv.interactable = true; cv.blocksRaycasts = true; } 这里是错误 一切都按照视频中的方式分配,就像前

这个错误发生在我关闭unity(我保存了所有内容)之后,前几天我打开它,错误出现了。 我试图创建预置,但无法使用某些主题中提到的调试日志

    public void Show()
    {
        animator.Play("FadeInUI");
        
        cv.interactable = true;
        cv.blocksRaycasts = true;
    } 
这里是错误


一切都按照视频中的方式分配,就像前一天一样,我刚刚打开它,出现了错误。

一个可能的解释是Unity在GameUI的开始()之前调用GameController的开始()

解决这个问题的一种方法是将GetComponent调用从Start方法移动到Awake方法。GetComponent调用(以及任何其他获取引用的操作,如GameObject.Find())通常在唤醒中完成,因为每个唤醒都是在任何Start方法之前调用的。有关更多信息,请参阅


另一种方法是显式地告诉Unity运行脚本的顺序。

这是否回答了您的问题?它说错误发生在第21行的“GameUI”脚本中。第21行有什么?`public void Show(){animator.Play(“FadeInUI”);cv.interactiable=true;cv.blocksRaycasts=true;}`看起来像
animator
可能没有分配变量。它是在哪里定义的,你给它分配了一个实例吗?我正在使用2019.4,教程版本是2019.2。明天我看到答案,我感谢那些试图帮助我的人。非常感谢,两个都成功了。你知道为什么这个错误只出现在另一个版本中吗?(我知道它在新版本中具有这种兼容性)。但两个版本的区别并不遥远。
    void Start()
    {
        isGameRunning = false;

        gameStartUI.Show();

    }