Unity的Destory延迟删除的问题

本文介绍了Unity中Destroy方法的特性及其使用注意事项。由于Destroy并非立即生效,因此在同一帧内销毁并重新创建相同GameObject可能会出现问题。文章提供了一种解决方案:先隐藏物体,将其放入待销毁数组,完成新物体的添加后统一销毁旧物体。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于unity的destroy方法是有延迟的,也就是说他并不是马上就会摧毁,也就是说迩调用destroy方法后,实际上他还是存在的,只是在下一帧的时候,他没了,如果迩是想执行一个操作把某个gameObject的物体下的子物体清空再添加新的子物体的话、先destory 再 add的方法是不行的、那么我们可以采取先把之前的物体隐藏然后再把它加入一个摧毁的数组里、这样就可以先添加新物体了、然后在添加完子物体后再集中去把摧毁数组里的gameObject都摧毁掉

 

说白了就是不能在同一帧里,删除一个GameObject,Component又添加一个跟他一样的GameObject,Component

 

也可以参考这篇文章

http://game.ceeger.com/Script/Object/Object.Destroy.html

转载于:https://www.cnblogs.com/zhousilai/p/4309652.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值