移除方法 Destroy

目前正跟随官网 Junior Programmer 课程学习。

前一段时间学习到的一些内容,将分别纪要。

1.移除方法

1
public static void Destroy (Object obj, float t= 0.0F);

参数说明:

参数 说明
obj 要销毁的对象。
t (可选)销毁对象前的延迟。

以上。

1.1描述

移除 GameObject 、组件或资源。

在当前更新循环之后立即销毁或从现在开始 t 秒(如果指定了时间)后销毁对象 obj。 如果 objComponent,则此方法会从 GameObject 移除该组件并将它销毁。 如果 objGameObject,则会销毁该 GameObject、其所有组件以及该 GameObject 的所有变换子项。 实际的对象销毁操作始终延迟到当前更新循环结束,但始终在渲染前完成。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using UnityEngine;public class ScriptExample : MonoBehaviour
{
void DestroyGameObject()
{
//移除游戏对象
Destroy(gameObject);
}

void DestroyScriptInstance()
{
// 从当前游戏对象中移除此脚本组件
Destroy(this);
}

void DestroyComponent()
{
// 从当前游戏对象中移除刚体组件
Destroy(GetComponent<Rigidbody>());
}

void DestroyObjectDelayed()
{
// 5秒之后移除当前游戏对象
Destroy(gameObject, 5);
}

// 按 Fire1 对应的按键之后
// 移除当前游戏对象的 BoxCollider 组件
void Update()
{
if (Input.GetButton("Fire1") && GetComponent<BoxCollider>())
{
Destroy(GetComponent<BoxCollider>());
}
}
}

销毁继承自 UnityEngine.Object 基类。

上述大部分内容来源于 Unity Document,大量删减;

详细了解可参考以下路径:

以上。