如何在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);
            }
        }
    }
}

您可以将所有实例放在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);
}

最新更新