1、 null
2、 启动Unity并新建一个空项目,此时默认的编辑器界面布局如下所示。

3、 在项目窗口中右键 → Create → C# Script,命名为DestroyTest,创建过程如下图所示。

4、 选中刚创建的DestroyTest脚本,双击或右键选择“Open C# Project”以在外部代码编辑器中打开,操作示意如下。

5、 在打开的脚本中编写逻辑代码:声明两个公共变量分别用于引用Transform与GameObject类型的预制体;随后在Start()方法中调用Destroy()函数依次销毁这两个对象。完整代码及关键注释如下图所示。

6、 确保脚本无编译错误后,切回Unity编辑器,在Hierarchy视图中依次创建Cube、Sphere以及一个空的GameObject,并参照下图调整其在场景中的相对位置与层级关系。

7、 将DestroyTest脚本拖拽挂载至场景中的空GameObject上;接着在Inspector面板中,将场景中的Cube拖入transformPrefab字段,将Sphere拖入gameObjectPrefab字段,完成赋值配置,如下图所示。

8、 点击Play按钮运行场景,可观察到Sphere已从场景中消失,而Cube仍保留在原位。该现象表明:调用Destroy()作用于Transform组件时,仅解除其关联,不会删除对应游戏对象;但若目标为GameObject本身,则整个对象将被彻底移除。因此,在使用Destroy()时必须明确传入对象的实际类型,避免误操作导致逻辑异常。实际运行效果如下图所示。

9、 以上即为Unity中Destroy()方法在处理Transform与GameObject时行为差异的核心要点解析,希望对您的开发实践有所帮助。感谢阅读!










