• 小白_Unity引擎_销毁游戏对象


    Destory()销毁游戏对象

     1         #region 销毁物体
     2 
     3          //Destory方法销毁游戏对象
     4         ///更常用的是对象池(ObjectPool)方式
     5         GameObject obj4 = GameObject.CreatePrimitive(PrimitiveType.Capsule);
     6         Object.Destroy(obj4);
     7 
     8         GameObject.Destroy(this); //销毁的是这个脚本本身,不是游戏对象
     9 
    10         //销毁游戏对象上的
    11         GameObject.Destroy(gameObject.GetComponent<Rigidbody>());
    12 
    13         //设置几秒后销毁
    14         GameObject.Destroy(obj, 5); //5秒后销毁游戏对象
    15 
    16         #endregion

     DestroyImmediate(prefab) 立即销毁游戏对象

    1         //立即销毁游戏对象
    2         //如果要销毁游戏对象,要用Destory() 来实现
    3         GameObject.DestroyImmediate(obj);
    4         //是否销毁游戏对象的同时是否销毁资源,默认false
    5         //如果不需要删除资源的情况下用Destory(); 如果是不删除资源使用和Destory是一样的
    6         //如果要删除一个预设,
    7         Destroy(prefab);
    8         DestroyImmediate(prefab);  //这两个都会报错,用下面的方法销毁资源
    9         GameObject.DestroyImmediate(prefab,true);

    跳转场景不销毁物体

     1     void Awake()
     2     {
     3         //加载时候不销毁,
     4         ///1.当切换场景到一个新的场景时,如果在老场景中使用此函数,参数中被指定的对象Object将不会在新的场景中销毁,在新场景中
     5         ///还可以继续看到置顶的Object物体对象
     6         ///2.当Unity加载或者读取一个新场景时,之前的场景所有的对象在内存中将都被四方,如果想保持指定的物体就需要使用此函数方法
     7         ///2.被加载过来的物体,身上所欲的组件及时对应的属性信息都不会改变
     8         ///4.如果加载保存的不是游戏对象,而是对象上某个组件,其效果与整体保存游戏对象效果是一样的
     9         Object.DontDestroyOnLoad(this.gameObject);
    10        
    11     }

    当销毁脚本时候,调用OnDestory()方法

     1 void OnDestory() 2 { 3 //当脚本销毁的时候调用 4 } 

  • 相关阅读:
    git 服务器的搭建
    两种读写配置文件的方案(app.config与web.config通用)
    实现UniqueAttribute唯一性约束-优化版
    实现UniqueAttribute唯一性约束
    WCF会话(Session)与实例(Instance)管理
    WCF实现方法重载
    WCF序列化
    WCF服务创建与使用(双工模式)
    WCF服务创建与使用(请求应答模式)
    我的WCF学习与强化系列文章
  • 原文地址:https://www.cnblogs.com/CeasarH/p/9273543.html
Copyright © 2020-2023  润新知