我正在使用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);
}