Vla*_*myh 5 c# unity-game-engine
这是一种奇怪的事情,但是如果您尝试使用DestroyImmediate
函数销毁子对象,那么您将获得不可预测的结果。
在我的例子中,Unity 并没有销毁所有的孩子,而是只销毁了其中的一半。
foreach(var child in parent)
{
DestroyImmediate(child);
}
Run Code Online (Sandbox Code Playgroud)
小智 13
这就是我在编辑模式下摧毁孩子的方式:
for (int i = this.transform.childCount; i > 0; --i)
DestroyImmediate(this.transform.GetChild(0).gameObject);
Run Code Online (Sandbox Code Playgroud)
正如一个人在链接中考虑的那样,可以创建临时数组/列表。
例如:
var tempArray = new GameObject[parent.transform.childCount];
for(int i = 0; i < tempArray.Length; i++)
{
tempArray[i] = parent.transform.GetChild(i).gameObject;
}
foreach(var child in tempArray)
{
DestroyImmediate(child);
}
Run Code Online (Sandbox Code Playgroud)
对我有帮助的链接: http ://answers.unity3d.com/answers/678073/view.html
归档时间: |
|
查看次数: |
6397 次 |
最近记录: |