C# 如何在Unity3D中引用非活动的游戏对象?
我试图访问一个非活动的游戏对象,它是另一个游戏对象的子对象,但我遇到了问题 现在我正在使用这行代码尝试访问非活动的子游戏对象并将其设置为活动:C# 如何在Unity3D中引用非活动的游戏对象?,c#,unity3d,C#,Unity3d,我试图访问一个非活动的游戏对象,它是另一个游戏对象的子对象,但我遇到了问题 现在我正在使用这行代码尝试访问非活动的子游戏对象并将其设置为活动: go.GetComponentInChildren<EnemyMover>().gameObject.SetActive(true); 我得到一个空参考错误 那么如何引用非活动的游戏对象呢?您可以使用,其中true表示您希望在非活动的游戏对象上包含组件。然后您可以使用。首先或Linq提供的任何变体来获得单个结果。您可以使用,其中true表示
go.GetComponentInChildren<EnemyMover>().gameObject.SetActive(true);
我得到一个空参考错误
那么如何引用非活动的游戏对象呢?您可以使用,其中true表示您希望在非活动的游戏对象上包含组件。然后您可以使用。首先或Linq提供的任何变体来获得单个结果。您可以使用,其中true表示您希望在非活动游戏对象上包含组件。然后你可以使用。首先,或Linq提供的任何变体来获得单一结果。我知道我有点晚了,但如果有人仍然想知道如何找到非活动的游戏对象,这里有一个例子: GameObject[]objects=Resources.FindObjectsOfTypeAll
foreach (GameObject go in objects)
{
if (go.name.Equals("Your component")){
go.SetActive(true);
}
}
我知道我有点晚了,但如果有人还在想如何找到一个不活动的游戏对象,这里有一个例子: GameObject[]objects=Resources.FindObjectsOfTypeAll
foreach (GameObject go in objects)
{
if (go.name.Equals("Your component")){
go.SetActive(true);
}
}
比Linq更简单,也可以只使用[0]。比Linq更简单,也可以只使用[0]。