zoukankan      html  css  js  c++  java
  • 小白_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 } 

  • 相关阅读:
    无法定位程序输入点
    推荐一款免费看小说神器-连尚读书
    APP隐私权限审核规范
    移动互联网应用程序(APP) 启动屏广告行为规范
    [原创]A/B测试不是万能的,但没有是不行的?
    [原创]我的抖音号mayingbao,欢迎来交流
    [原创] push如何提高产品留存?
    [原创]创业公司中App专用术语
    [原创]app应用上架申请所需材料
    [原创]这37款APP,下架!做为测试人员,你应了解些这方面知识
  • 原文地址:https://www.cnblogs.com/CeasarH/p/9273543.html
Copyright © 2011-2022 走看看