Unity程序

Unity正确删除子物体的方式

2020-02-13  本文已影响0人  哈莉波特大

删除一个物体的子物体,简单啊,循环遍历啊

上代码

运行!

诶?怎么还剩下两个?

因为,在循环运行当中,每当删除一个子物体,transform.childCount就会减1,而且正向循环中,是先删除最前面满足条件的,所以GetChild(i)中的i也是在不断的变化。

所以我们可以这样写

创建一个变量,每次执行一次,就index+1次,然后把transform.childCount少了的部分加回来,保持最开始的数值,使得循环次数完整。然后删除几个新的物体就会往前进几位。

当然这样太复杂了,最简单的方式是!

倒着来

我们加上限制条件一样没问题(网上流行的 DestroyImmediate(transform.GetChild(0).gameObject)带限制条件就不好用了)

当然不嫌麻烦的话还可以这样

上一篇下一篇

猜你喜欢

热点阅读