无法破坏“”的变形。如果你想破坏游戏对象,请在游戏对象上调用destroy

时间:2014-05-22 10:13:49

标签: c# unity3d destroy gameobject

我有一个简单的问题。

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

FoodTargets是我的名单的名称......

    destroycounter = FoodTargets.Count;

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

这将返回错误:

  

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

我已经在这里工作了几个小时,我只是想知道我可以用什么行代码来破坏列表中的实例化预制件...或者如果可能的话,我用什么代码来销毁所有实例化的预制件一个列表。在此先感谢您的帮助。非常感谢。

1 个答案:

答案 0 :(得分:4)

使用每个变换指向其GameObject的事实。您必须执行此操作,因为Destroy()会将GameObject作为参数。

Destroy(transformReference.gameObject);

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

Destroy(FoodTargets[destroycounter].gameObject);

您可以在Transform here内了解有关属性的更多信息。