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) 这种写法可能平时都用过,但是并没有想过为什么可以这样。
抽时间再单独写一下这个。
Destroy API既可以销毁物体也可以销毁组件。
举例来看一下

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

被折叠的 条评论
为什么被折叠?



