使用刚体.MovePosition

时间:2018-08-14 21:36:10

标签: c# unity3d

我正在尝试在Unity 2017.03.1f1中创建一个星球游戏,并遵循this tutorial来制造星球的引力。每当我尝试输入以下代码行时(大约20分钟标记):

void FixedUpdate()
{
    rigidbody.MovePosition(rigidbody.position + transform.TransformDirection(moveAmount) * Time.fixedDeltaTime);
}

我无法使线路正常工作,而Unity给了我这段文字:

  

“资产/脚本/FirstPersonController.cs(36,19):错误CS1061:类型UnityEngine.Component不包含MovePosition的定义,也没有类型{{的扩展方法MovePosition 1}}可以找到。您是否缺少程序集引用?”

我的代码有什么问题?

1 个答案:

答案 0 :(得分:1)

声明为rigidbody的{​​{1}}变量很久以前已被弃用。现在,您需要使用Component函数来获取附加到此GameObject的GetComponent组件。修复Rigidbody之后,也可以使用rigidbody.MovePosition进行相同的操作。

这是更新后的代码的样子:

rigidbody.position