Unity中的FixedJoint出错?

时间:2015-10-28 13:34:51

标签: c# unity3d unity5

每次运行代码时都会出现以下错误:

错误CS0120:访问非静态成员`UnityEngine.Joint.breakForce'

需要对象引用
Joint.breakForce = Mathf.Infinity;

我该如何正确地写这个?可以将中断力设置为Mathf.Infinity以使关节不可破坏。

1 个答案:

答案 0 :(得分:1)

每当您看到错误时:

  

访问非静态成员[...]

需要对象引用

这强烈建议您使用类名实际上应该使用类实例。在这种情况下,它表示您需要Joint(或更确切地说,FixedJoint的实例,对吗?)才能更改其breakForce值。

要解决此问题,您首先需要使用GetComponent()从当前FixedJoint检索GameObject的实例,然后才设置其breakForce。例如,如果您使用Start()方法执行此操作:

Start() {
    GetComponent<FixedJoint>().breakForce = Mathf.Infinity;
}

希望这有帮助!如果您有任何问题,请告诉我。