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是异步销毁,一般在下一帧销毁,不会影响主线程的运行



  • 相关阅读:
    【转】理解Ruby的4种闭包:blocks, Procs, lambdas 和 Methods
    折腾weibo开放平台
    netsh——常用命令及使用技巧
    The Enemies of Achievement
    java内存模型
    命名规则
    JS 控制加载页面对象
    点击图片弹出上传文件对话框
    ASP.NET判断用户是否在线
    ASP.Net处理QueryString函数汉字参数传递错误
  • 原文地址:https://www.cnblogs.com/yifengs/p/14829977.html
Copyright © 2011-2022 走看看