zoukankan      html  css  js  c++  java
  • 销毁物体:Destroy、DestroyImmediate、DestroyObject

    原文链接:https://blog.csdn.net/NCZ9_/article/details/84203714

    参考链接:https://blog.csdn.net/lee514/article/details/80995048

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

    GameObject.Destroy(gameObject,2.0f);

    Destory是静态方法,用类名加点的形式调用

    方法中有两个参数

    gameObject表示要销毁的游戏对象自身

    2.0f表示2秒后销毁,可以任意指定时间

    也可以用随机数函数生成随机的销毁时间,例如:Random.Range(1.0f,5.0f),表示1到5秒之间的秒数销毁游戏对象。

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

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

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

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



  • 相关阅读:
    AngularJS笔记---数据绑定
    Javascript笔记--函数
    C#笔记---动态类(Dynamic)应用
    Javascript笔记--Objects
    Javascript笔记----实现Page页面右下角置顶按钮.
    C#基础---扩展方法的应用
    .Net程序员之Python基础教程学习----函数和异常处理[Fifth Day]
    1.3 函数式接口
    1.2 lambda 表达式的语法
    1.1 为什么要使用lambda 表达式
  • 原文地址:https://www.cnblogs.com/yifengs/p/14829977.html
Copyright © 2011-2022 走看看