我有一个简单的问题。
我有一个由另一个脚本定期访问的对象列表。我想要做的是清除列表并销毁其中的所有对象。以下是我用来执行此操作的代码:
FoodTargets是我的名单的名称......
destroycounter = FoodTargets.Count;
for (destroycounter = 0; destroycounter < FoodTargets.Count; destroycounter++)
{
Destroy(FoodTargets[destroycounter]);
FoodTargets.RemoveAt(destroycounter);
}
这将返回错误:
无法破坏“”的变换。如果你想破坏游戏对象, 请在游戏对象上调用destroy ...
我已经在这里工作了几个小时,我只是想知道我可以用什么行代码来破坏列表中的实例化预制件...或者如果可能的话,我用什么代码来销毁所有实例化的预制件一个列表。在此先感谢您的帮助。非常感谢。
答案 0 :(得分:4)
使用每个变换指向其GameObject的事实。您必须执行此操作,因为Destroy()会将GameObject作为参数。
Destroy(transformReference.gameObject);
在您的代码中,它看起来像这样:
Destroy(FoodTargets[destroycounter].gameObject);
您可以在Transform here内了解有关属性的更多信息。