unity 2018 如何移除游戏物体的所有子物体

 时间:2024-10-11 23:52:31

1、首先,介绍Transform的childCount属性,用于知道有多少个子物体。

unity 2018 如何移除游戏物体的所有子物体

2、可以通过for循环配合GetChild,得到孩子,进行移除,但是要注意这里有一个常见的错误,是GetChild返回的是Transform组件而不是游戏物体。移除组件是错误的。

unity 2018 如何移除游戏物体的所有子物体

3、如果直接运行上述代码,可以看到无法移除,因为组件间依赖等。看到这个报错就说明犯了上述错误。

unity 2018 如何移除游戏物体的所有子物体

4、正确的做法是从transform组件获取gameObject,移除整个游戏物体。

unity 2018 如何移除游戏物体的所有子物体

5、另一个错误是,使用while循环判断childCount>0。Destroy操作并不会立即改变childCount,所以这样写会死循环。

unity 2018 如何移除游戏物体的所有子物体

6、还有一个错误是使用DetachChildren。该函数并不会删除子游戏物体,只是解除父子关系,所有子游戏物体将直接成为场景内的物体,仍然存在。

unity 2018 如何移除游戏物体的所有子物体
  • AxureRP添加线性渐变教程
  • Axure制作:验证强密码
  • vegas中视频素材的场序如何设置?
  • 如何用Axure制作动态倒计时
  • Animate如何制作螺旋桨转动动画
  • 热门搜索
    普法知识手抄报 英语手抄报国庆节 我的寒假我做主手抄报 新中国成立70周年手抄报 畅想未来手抄报 感恩节的手抄报 我爱校园手抄报 为国家富强而奋斗的杰出人物手抄报 法律进校园手抄报 抗美援朝70周年手抄报