如何引用Unity3D中的非活动GameObject?

时间:2015-07-17 17:37:50

标签: c# unity3d

我正在尝试访问一个非活动的游戏对象,这是另一个游戏对象的孩子,但我遇到了麻烦。

现在我正在使用这行代码尝试访问非活动的子游戏对象并将其设置为活动状态:

go.GetComponentInChildren<EnemyMover>().gameObject.SetActive(true);

我收到一个空引用错误。

那么如何引用不活跃的游戏对象?

2 个答案:

答案 0 :(得分:4)

您可以使用GetComponentsInChildren<EnemyMover>(true),其中true表示您要在非活动游戏对象中包含组件。然后,您可以使用struct SoundTrack { let sID : Int let st : String } (或Linq提供的任何变体)来获得单个结果。

答案 1 :(得分:0)

我知道我有点晚了,但是如果有人仍然想知道如何找到一个不活跃的GameObject,这里是一个例子:

GameObject []对象= Resources.FindObjectsOfTypeAll();

    foreach (GameObject go in objects)
    {
        if (go.name.Equals("Your component")){
            go.SetActive(true);
        }
    }