当我尝试在Unity 5中使用此代码时,它表示“isKinematic”功能在Unity 5中不再有效。
有人可以解释为什么他们会做出这样的改变,我怎样才能将我的代码更新为正确的格式?
rigidbody2D.isKinematic = false;
答案 0 :(得分:2)
.rigidbody
和.rigidbody2D
已经过去了.GetComponent<Rigidbody>()
和.GetComponent<Rigidbody2D>()
过去的便利字段(基本上是快捷方式)。
Unity 5中删除了这些便利字段。
给出的理由是,对于任何内置组件,这些“快捷方式”属性是否存在或多或少随机。全部删除(变换除外)可以使事情更加一致,减少混淆。
现在你“明确地”访问了所有组件(除了Transform):
GetComponent<Rigidbody2D>().isKinematic = false;