断言表达失败go isactive()&& go gettag()!= 0 unity

时间:2017-12-16 17:41:54

标签: c# unity3d

这个错误对我的游戏开发无害,但是不时会看到它会伤到我的眼睛。我怎样才能摆脱团结的这个错误。

  

断言失败:表达式断言失败:'go.IsActive()&& go.GetTag()!= 0'UnityEngine.Camera:get_main()

当我使用标签

找到对象时,它就出现了
public GameObject shadowUnderWater;

void OnEnable(){
  //uSkyManager Instantiates
    if(shadowUnderWater == null){
        shadowUnderWater = GameObject.FindGameObjectWithTag("SkyManager");
    }
}

到目前为止,我所做的是:

void Awake(){
  Camera.main.GetComponent<Camera> ();
}

我将相机设置在Awake功能上,因为我在某个论坛中看到你只需要实例化相机。

1 个答案:

答案 0 :(得分:1)

  1. 没有必要获得相机的组件
  2. 如果相机为空,那么显然从中获取组件将失败
  3. 你在Awake中所做的事情毫无意义,没有准备/获取相机的概念
  4. 请参阅有关如何使用此成员的文档: https://docs.unity3d.com/ScriptReference/Camera-main.html

    这是你应该如何处理相机的工作:

    var cam = Camera.main;
    if (cam != null)
    {
        // do something
    }