Unity3D脚本中创建的gameobject如何删除
生活随笔
收集整理的這篇文章主要介紹了
Unity3D脚本中创建的gameobject如何删除
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我本來以為unity里的Gameobject類就是一個正常的類,生命周期和正常的類一樣,結(jié)果發(fā)現(xiàn)不是的。
unity里如果你在腳本里的某個函數(shù)里定義一個Gameobject,它不會作為一個局部變量隨著函數(shù)的終止而自動銷毀。如下:
運行以后我們可以發(fā)現(xiàn),雖然CreateAnEmpty函數(shù)只在初始化的時候調(diào)用了一次,但是創(chuàng)建的空物體并沒有隨著函數(shù)運行完成而自行銷毀。如下:
可以發(fā)現(xiàn),場景中就這么多了一個空物體,這其實是我們不希望看到的,那么如何讓函數(shù)運行結(jié)束時自行銷毀這個空物體呢?
using System.Collections; using System.Collections.Generic; using UnityEngine;public class test : MonoBehaviour {void CreateAnEmpty(){GameObject a = new GameObject();a.transform.right = new Vector3(1, 1, 0);Destroy(a);//就是這個}// Use this for initializationvoid Start () {CreateAnEmpty();}// Update is called once per framevoid Update () {} }只需要在函數(shù)運行結(jié)束的時候用Destroy函數(shù)將物體刪除即可。
public static void Destroy(Object obj, float t = 0.0F);
t是用來控制銷毀時間的。
總結(jié)
以上是生活随笔為你收集整理的Unity3D脚本中创建的gameobject如何删除的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1853)vue之电商管理系统
- 下一篇: DB9接口详解---DB9引脚在 UAR