簡體   English   中英

如何一次銷毀多個游戲對象?

[英]How can I destroy multiple game objects at once?

我試圖弄清楚我怎樣才能基本上站在壓力板上並使某些東西消失。 我有工作來銷毀與您交互的對象,但找不到任何銷毀另一個對象的解決方案。

private void OnTriggerEnter2D(Collider2D collision)
{
    if (collision.gameObject.CompareTag("PressurePlate"))
    {
      Destroy(collision.gameObject.CompareTag("tree"));
    }
}

Destroy(Object)接受一個Object,更具體地說,是一個組件或一個游戲對象;
(盡管像您在這種情況下所做的那樣,如果您嘗試銷毀布爾值,則不會發生任何事情;不過,有人可以對此進行糾正。)

如果要銷毀與之碰撞的游戲對象,則Destroy(collision.gameObject)會這樣做。

如果要銷毀帶有特定標簽的所有GameObject,可以執行GameObject.FindGameObjectsWithTag(tag) ,如下所示:

foreach (var gameObj in GameObject.FindGameObjectsWithTag("Your target tag")){
  Destroy(gameObj);
}

還有一些其他方法,例如Object.FindObjectsOfType(Type) ,可用於獲取具有特定類型的所有游戲對象。

但是,由於它們通常運行緩慢,因此除非您需要,否則我不建議您使用它們。
您可以考慮先將相應的游戲對象緩存在某個位置,然后再銷毀它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM