像实例化一样, 销毁GameObjects也很重要。在本节中, 我们将了解如何销毁GameObject。
销毁GameObject就像创建GameObject一样非常简单。你需要引用要销毁的对象, 然后以该引用为参数调用Destroy()方法。
让我们创建5颗菱形, 这些菱形会在按下分配的键时销毁。
首先, 创建一个新脚本。将其重命名为Destroyer.cs并在编辑器上将其打开。现在, 复制以下代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Destroyer : MonoBehaviour
{
public KeyCode keyToDestroy;
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(keyToDestroy)) {
Destroy (gameObject);
}
}
}
在这里, 我们为KeyCode使用了一个公共变量。 KeyCode用于描述标准键盘上的键, 其方法中的输入类使用它。通过将此变量公开, 我们可以使其通过编辑器访问。将变量公开后, 我们不需要在代码中添加诸如KeyCode.A之类的硬编码值。
在这里, 我们添加了gameObject变量。此新的gameObject变量用于引用此脚本附加到的gameObject。如果将此脚本添加到多个对象, 则只要涉及到此变量, 它们都将以相同的方式做出反应。
现在, 我们将创建一个新的菱形精灵并将其脚本(Destructor.cs)附加到该精灵。接下来, 从层次结构选项卡上右键单击gameObject, 然后选择Duplicate选项。在层次结构选项卡中会产生一个新的精灵。你应该使用”移动”工具重新定位它。重复这些步骤以创建相似的菱形。
单击每个菱形, 然后查看其脚本组件。现在, 你可以在”要销毁的键”选项中设置各个键, 以便在按下该键时GameObject可以销毁自己。例如, 让我们创建6个菱形, 并设置它们在按下A, S, D, F, G和H键时销毁。
可以在多个菱形上设置相同的键, 并且按下该键时, 它们都将同时销毁。这是gameObject引用的使用示例, 你可以使用该引用来使用脚本来引用特定的对象, 而不必单独设置它们。
重要的是要了解破坏游戏对象并不意味着对象会爆炸或破碎。就游戏(及其代码)而言, 销毁一个对象将仅仅停止其存在。现在, 指向此GameObject及其引用的链接已断开, 尝试访问或使用其中任何一个通常会导致错误和崩溃。
评论前必须登录!
注册