1

我有一个快速的问题。

我有一个由另一个脚本定期访问的对象列表。我想要做的是清除列表并销毁其中的所有对象。这是我用来执行此操作的代码:

FoodTargets 是我列表的名称...

    destroycounter = FoodTargets.Count;

    for (destroycounter = 0; destroycounter < FoodTargets.Count; destroycounter++)
    {
        Destroy(FoodTargets[destroycounter]);
        FoodTargets.RemoveAt(destroycounter);
    }

这将返回错误:

不能破坏“”的变换。如果你想销毁游戏对象,请在游戏对象上调用destroy ...

我已经做了几个小时了,我只想知道我可以使用哪一行代码来销毁列表中的实例化预制件......或者如果可能的话,我使用什么代码来销毁列表中的所有实例化预制件。在此先感谢您的帮助,我们将不胜感激。

4

1 回答 1

4

使用每个变换都指向其 GameObject 的事实。您必须这样做,因为Destroy()GameObject作为参数。

Destroy(transformReference.gameObject);

在您的代码中,它看起来像这样

Destroy(FoodTargets[destroycounter].gameObject);

您可以在此处阅读有关Transform内部属性的更多信息。

于 2014-05-22T10:19:08.087 回答