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

Yan*_*rui 1 unity-game-engine

我正在使用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);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Pie*_*uel 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));
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

并删除你做的事情

foreach object in mylist
{
  Destroy(object);
}
Run Code Online (Sandbox Code Playgroud)

对不起c#代码,但我是ac #user.