美文网首页Unity程序
Unity正确删除子物体的方式

Unity正确删除子物体的方式

作者: 哈莉波特大 | 来源:发表于2020-02-13 20:30 被阅读0次

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

上代码

运行!

诶?怎么还剩下两个?

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

所以我们可以这样写

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

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

倒着来

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

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

相关文章

网友评论

    本文标题:Unity正确删除子物体的方式

    本文链接:https://www.haomeiwen.com/subject/zinfettx.html