美文网首页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