GameObject.SetActiveRecursively (true) 过时了?
GameObject.SetActiveRecursively (true) obsolete?
当我尝试使用时:
GameObject.Find("teleportation").SetActiveRecursively(true);
GameObject.SetActiveRecursively(bool)
已过时,它说使用 GameObject.SetActive()
代替,现在由 children.
继承
在我的层次结构中,我有一个 object 活跃而他的 child 不活跃。
如果我在活动 object 上使用 GameObject.SetActive()
,则 child 未激活。
如果我在活动 object 上使用 GameObject.SetActiveRecursively()
,则 child 被激活。
那么,我应该使用不同的东西来激活 child 吗?
我不明白为什么 GameObject.SetActive()
不起作用。
SetActiveRecursively
函数已过时,就像您提到的那样。您现在应该使用 SetActive()
.
您可以使用递归和SetActive()
来复制SetActiveRecursively
的功能。您也可以将其放在扩展方法中。
public static class ExtentionMethod
{
public static void SetActiveRecursivelyExt(this GameObject obj, bool state)
{
obj.SetActive(state);
foreach (Transform child in obj.transform)
{
SetActiveRecursivelyExt(child.gameObject, state);
}
}
}
用法:
GameObject obj = GameObject.Find("teleportation");
obj.SetActiveRecursivelyExt(true);
当我尝试使用时:
GameObject.Find("teleportation").SetActiveRecursively(true);
GameObject.SetActiveRecursively(bool)
已过时,它说使用 GameObject.SetActive()
代替,现在由 children.
在我的层次结构中,我有一个 object 活跃而他的 child 不活跃。
如果我在活动 object 上使用 GameObject.SetActive()
,则 child 未激活。
如果我在活动 object 上使用 GameObject.SetActiveRecursively()
,则 child 被激活。
那么,我应该使用不同的东西来激活 child 吗?
我不明白为什么 GameObject.SetActive()
不起作用。
SetActiveRecursively
函数已过时,就像您提到的那样。您现在应该使用 SetActive()
.
您可以使用递归和SetActive()
来复制SetActiveRecursively
的功能。您也可以将其放在扩展方法中。
public static class ExtentionMethod
{
public static void SetActiveRecursivelyExt(this GameObject obj, bool state)
{
obj.SetActive(state);
foreach (Transform child in obj.transform)
{
SetActiveRecursivelyExt(child.gameObject, state);
}
}
}
用法:
GameObject obj = GameObject.Find("teleportation");
obj.SetActiveRecursivelyExt(true);