Unity3D脚本中创建的gameobject如何删除
我本來(lái)以為unity里的Gameobject類(lèi)就是一個(gè)正常的類(lèi),生命周期和正常的類(lèi)一樣,結(jié)果發(fā)現(xiàn)不是的。
unity里如果你在腳本里的某個(gè)函數(shù)里定義一個(gè)Gameobject,它不會(huì)作為一個(gè)局部變量隨著函數(shù)的終止而自動(dòng)銷(xiāo)毀。如下:
運(yùn)行以后我們可以發(fā)現(xiàn),雖然CreateAnEmpty函數(shù)只在初始化的時(shí)候調(diào)用了一次,但是創(chuàng)建的空物體并沒(méi)有隨著函數(shù)運(yùn)行完成而自行銷(xiāo)毀。如下:
可以發(fā)現(xiàn),場(chǎng)景中就這么多了一個(gè)空物體,這其實(shí)是我們不希望看到的,那么如何讓函數(shù)運(yùn)行結(jié)束時(shí)自行銷(xiāo)毀這個(gè)空物體呢?
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);//就是這個(gè)}// Use this for initializationvoid Start () {CreateAnEmpty();}// Update is called once per framevoid Update () {} }只需要在函數(shù)運(yùn)行結(jié)束的時(shí)候用Destroy函數(shù)將物體刪除即可。
public static void Destroy(Object obj, float t = 0.0F);
t是用來(lái)控制銷(xiāo)毀時(shí)間的。
總結(jié)
以上是生活随笔為你收集整理的Unity3D脚本中创建的gameobject如何删除的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 前端学习(1853)vue之电商管理系统
- 下一篇: DB9接口详解---DB9引脚在 UAR