如何在unity3d中销毁实例化(克隆)对象?

时间:2011-11-20 23:47:22

标签: unity3d

我正在使用Unity3d创建一款iPhone游戏。因为iPhone的性能比PC高,所以我希望保持经济。在我的游戏中,我有一个很长的楼梯,上面有一个角色。如果角色高出一步高度,则该步骤将被破坏。但我无法获得对单个gameObject的引用。我怎么能实现这个目标?非常感谢你!

function buildFirstStair () {
    for (var y = 0; y < 80; y++) {
        for (var x = 0; x < 80; x++) {
            if (x == y) {
                var step = Instantiate(cube, Vector3(0, x*0.25, y*0.25), Quaternion.identity);
            }
        }
    }
}

1 个答案:

答案 0 :(得分:5)

您可以将所有实例放入List中,然后将其删除。 类似的东西:

function Create()
{
    List<GameObject> mylist;

    for (float y = 0; y < 80; y++)   
        for (float x = 0; x < 80; x++) {
            if (x == y) {
                mylist.push((GameObject) Instantiate(...), Quaternion.identity));
            }
        }
}

要删除你做的事情

foreach object in mylist
{
  Destroy(object);
}

对不起c#代码,但我是c#用户。