Unity中的Destroy和null 问题

本文详细探讨Unity中销毁物体的API——Destroy和DestroyImmediate的使用,包括它们的区别、常见陷阱以及如何正确判断对象是否已被销毁。通过官方文档和实际测试案例,解释了Destroy的延迟销毁机制和DestroyImmediate的立即销毁特性,以及关于`obj == null`的误解。测试工程链接提供以便读者深入理解。

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

Unity中的Destroy和null 问题

Unity中,我们经常需要销毁物体,Unity也给我们提供了销毁的API。
Destroy( )和 DestroyImmediate( );
这两种都可以进行销毁,但是还是有一定的区别,同时还是要注意使用的坑点。
在QQ群看到,好多人还是对这些不太清楚,所以花时间来重新学习和验证一下。

官方API文档

Destroy
https://docs.unity3d.com/ScriptReference/Object.Destroy.html
DestroyImmediate
https://docs.unity3d.com/ScriptReference/Object.DestroyImmediate.html

采坑注意

关键正常的使用就不单独进行讲解了,自己看一下官方的文档或者网上找个博客看看就行了。
这里重点说一下使用中遇到的坑的问题。
在开发中我们经常会有需求,需要判断是否成功的销毁对象。

我们经常会用一个 if(gameObject) 这种方式去判断是否为对象已经被销毁,
if(gameObject) 等价于 if (gameObject == null )
if(gameObject) 这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值