📜  Unity GameObject销毁

📅  最后修改于: 2021-01-11 13:48:31             🧑  作者: Mango

Unity GameObject破坏

像实例化一样,销毁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及其参考的链接已断开,尝试访问或使用它们中的任何一个通常会导致错误和崩溃。