我有一个简短的问题。
我有一个由另一个脚本定期访问的对象列表。我想要做的是清除列表并销毁其中的所有对象。这是我用来执行此操作的代码:
FoodTargets 是我的列表的名称...
destroycounter = FoodTargets.Count;
for (destroycounter = 0; destroycounter < FoodTargets.Count; destroycounter++)
{
Destroy(FoodTargets[destroycounter]);
FoodTargets.RemoveAt(destroycounter);
}
这会返回错误:
Can't destroy transform of "". if you want to destroy the game object, please call destroy on the game object instead...
我已经做了好几个小时了,我只想知道我可以使用哪一行代码来销毁列表中的实例化预制件……或者如果可能的话,我可以使用什么代码来销毁列表中的所有实例化预制件一个列表。在此先感谢您的帮助。
最佳答案
利用每个变换指向其游戏对象这一事实。你必须这样做,因为 Destroy()需要 GameObject作为参数。
Destroy(transformReference.gameObject);
在您的代码中它看起来像这样:
Destroy(FoodTargets[destroycounter].gameObject);
您可以在 Transform here 中阅读有关属性的更多信息.
关于c# - 无法破坏 ""的变换。如果你想销毁游戏对象,请改为在游戏对象上调用 destroy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23803893/