unity销毁某个物体下的所有子物体
时间: 2024-11-15 21:26:50 浏览: 59
unity捡东西后销毁且计数
在Unity中,如果你想摧毁一个GameObject及其所有的子物体,你可以直接调用`Destroy`方法,并传递递归参数。递归`Destroy`函数可以确保每个子物体也被逐层销毁。以下是一个简单的例子:
```csharp
public static void DestroyWithRecursion(GameObject parentObj)
{
if(parentObj != null)
{
// 先销毁自身
Destroy(parentObj);
// 再遍历并销毁子物体
foreach(Transform child in parentObj.transform)
{
DestroyWithRecursion(child.gameObject);
}
}
}
// 调用时
GameObject rootObj = GameObject.Find("YourRootGameObject");
if(rootObj != null)
{
DestroyWithRecursion(rootObj);
}
```
在这里,我们假设有一个名为`parentObj`的游戏对象,它有多个子物体。调用`DestroyWithRecursion`会从根开始,一层一层地清除所有子物体。
阅读全文