Параметры
obj | Объект для уничтожения. |
t | Необязательное количество времени задержки перед уничтожением объекта. |
Описание
Удаляет игровой объект, компонент или ресурс.
Объект obj
уничтожается сразу после текущего цикла обновления или через t
секунд, если указано время. Если obj
является компонентом, этот метод удаляет компонент из GameObject. и разрушает его. Если obj
является GameObject, он уничтожает GameObject, все его компоненты и все преобразованные дочерние элементы GameObject. Фактическое уничтожение объекта всегда откладывается до завершения текущего цикла обновления, но всегда выполняется до рендеринга.
Примечание. При уничтожении скриптов MonoBehaviour функции OnDisable и OnDestroy вызываются перед удалением скрипта.
using UnityEngine;
public class ScriptExample : MonoBehaviour
{
void DestroyGameObject()
{
Destroy(gameObject);
}
void DestroyScriptInstance()
{
// Removes this script instance from the game object
Destroy(this);
}
void DestroyComponent()
{
// Removes the rigidbody from the game object
Destroy(GetComponent<Rigidbody>());
}
void DestroyObjectDelayed()
{
// Kills the game object in 5 seconds after loading the object
Destroy(gameObject, 5);
}
// When the user presses Ctrl, it will remove the
// BoxCollider component from the game object
void Update()
{
if (Input.GetButton("Fire1") && GetComponent<BoxCollider>())
{
Destroy(GetComponent<BoxCollider>());
}
}
}
Destroy наследуется от базового класса UnityEngine.Object.