小白_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 } 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM