我将如何遍历一系列游戏对象并关闭它们,(团结)

问题描述 投票:-2回答:2

我正在尝试通过将其添加到将关闭哪些游戏对象的对象中来关闭一组游戏对象,从而使自己更容易关闭游戏对象。我该怎么办?这是我到目前为止所拥有的。

public List<GameObject> itemsToClose = new List<GameObject>();

void Start()
{
    for (var i = 0; i < itemsToClose.Count; i++)
    {
        //what should i put here!
    }
}

}

c# unity3d
2个回答
0
投票

类似于Unity或类似的游戏引擎。如果是这样,那么它将是Destroy()方法。

Destroy(itemsToClose.ElementAt(i));

但是正如pm100用户所提到的,foreach是一个更好的选择:

foreach (GameObject go in itemsToClose)
  Destroy(go);

0
投票

在Unity中,您没有“关闭”任何东西,但是您可以破坏某些东西。

如果要在运行时销毁gameObjectList中的所有GameObject:

    for(int i = 0; i < gameObjectList.Count; i++)
    {
        Destroy(gameObjectList[i]);
    }

[如果要在编辑器中销毁这些对象(而不是在玩游戏时):

    for(int i = 0; i < gameObjectList.Count; i++)
    {
        DestroyImmediate(gameObjectList[i]);
    }

小技巧:foreach比for循环慢两倍,因此,如果可能,请尽量避免使用foreach,而应使用for循环。

© www.soinside.com 2019 - 2024. All rights reserved.