Unity 常用脚本:销毁物体

方法一:GameObject.Destroy(游戏物体(gameObject类型));

方法二:GameObject.DestroyImmediate(游戏物体(gameObject类型));

方法三:GameObject.DestroyObject(游戏物体(gameObject类型));

方法在脚本继承MonoBehaviour时可直接使用,无需通过GameObject调用。

  • DestroyImmediate立即销毁目标,并将目标置为null,且将目标的所有上层引用置空。
  • Destroy则在本帧结束前,渲染之前销毁目标和上层引用。不会立即销毁,Destroy调用后,目标数据仍然存在,不为null,上层引用也正常。注意:在同一帧,会出现前面代码已经用Destroy销毁了某物体,但后面仍然能够获取到的情况。就是因为Destroy在下一帧才会完成销毁操作。如果立即销毁,则使用DestroyImmediate。
  • 推荐使用Destroy代替DestroyImmediate,原因是DestroyImmediate是立即销毁,立即释放资源,做这个操作的时候,会消耗很多时间,影响主线程运行。Destroy是异步销毁,一般在下一帧销毁,不会影响主线程的运行。

你可能感兴趣的:(Unity)