Destroy 刪除物件

Object.Destroy 用於刪除物件,例如刪除遊戲角色收集的物件、刪除打倒的敵人或發射的子彈,避免多餘物件影響遊戲執行效能。以下腳本展示物件生成後 3 秒自動刪除的功能。

 

碰撞到物件或是被其他物件碰撞時立即刪除。

關於 OnCollisionEnter 碰撞事件可參閱 Unity 網站 的說明。

若需要判斷碰撞的物件,第一種方法是使用「物件名稱」。

此腳本展示物件碰撞到名稱為 Floor 的地板物件時刪除物件,碰撞到其他物件時不會有任何互動。

第二種方法是使用「標籤」。例如判斷子彈擊中的對象,可以在敵人的遊戲物件上設定 Enemy 標籤。

碰撞到物件時刪除物件,以下的範例是子彈射到敵人時,將子彈與敵人同時刪除。

物件進入觸發器的範圍,離開時刪除該物件。

關於 OnTriggerExit 的使用方法可參閱 Unity 網站 的說明。

 

刪除物件上的特定元件,例如按下按鍵時刪除 Light 燈光元件。注意!物件必須有 Light 燈光元件,否則將會出現錯誤!

關於 Destroy 的使用方法可參閱 Unity 網站 的說明。

 

不過,使用 Destroy 刪除粒子效果的話,將會讓已發射的粒子全部消失,如果希望粒子能夠逐漸消失,可以參考 Unity 標準資源內附的 ParticleSystemDestroyer 腳本: