Unity3d 如何在unity中的foreach循环中将gameobject设置为false

Unity3d 如何在unity中的foreach循环中将gameobject设置为false,unity3d,unity2d,Unity3d,Unity2d,如何在foreach循环中将active设置为false。 以下是循环: public void OnemoreTry(){ var respawns = GameObject.FindGameObjectWithTag ("Enemy"); foreach (GameObject respawn in respawns) { respawn.SetActive(false); } 错误:foreach语句无法对类型为Un

如何在foreach循环中将active设置为false。 以下是循环:

public void OnemoreTry(){
        var respawns = GameObject.FindGameObjectWithTag ("Enemy");
        foreach (GameObject respawn in respawns) {
            respawn.SetActive(false);
        }

错误:foreach语句无法对类型为
UnityEngine.GameObject'的变量进行操作,因为它不包含
GetEnumerator'的定义,或者无法访问请尝试FindGameObjectsWithTag,以获取数组中的所有标记对象,而不仅仅是场景中的第一个对象层次结构。

是否
重新启动。设置活动(false)
不工作?错误是什么?foreach语句无法对类型为
UnityEngine.GameObject'的变量进行操作,因为它不包含
GetEnumerator'的定义,或者无法访问
FindGameObjectWithTag
仅返回单个GameObject,而不是它们的集合。您应该使用复数版本
FindGameObjectsWithTag
@Cuderman看起来像
respawn.SetActive(false)
works。只是你没有用复数。更改为
var respawns=GameObject.FindGameObjectsWithTag(“敌人”)是的,它工作正常谢谢