2015-10-28 5 views
-1

я получаю следующую ошибку каждый раз, когда я запускаю код:Ошибка с FixedJoint в единстве?

ошибки CS0120: Ссылка на объект требуется для доступа к нестатическому члену `UnityEngine.Joint.breakForce»

Joint.breakForce = Mathf.Infinity; 

Как я могу правильно написать это? Сила разрыва может быть установлена ​​в Mathf.Infinity, чтобы сделать соединение нерушимым.

ответ

1

Всякий раз, когда вы видите сообщение об ошибке:

An object reference is required to access non-static member [...]

Это сильно предположить, что вы используете имя класса, где вы должны быть на самом деле с помощью экземпляра класса. В этом случае он говорит, что вам нужен экземпляр Joint (вернее, FixedJoint, справа?), Чтобы изменить его значение breakForce.

Чтобы исправить это, вы будете в первую очередь необходимо использовать GetComponent() для получения экземпляра FixedJoint из текущего GameObject, и только затем установить его breakForce. Например, если вы делаете это в методе Start():

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

Надеется, что это помогает! Дайте знать, если у вас появятся вопросы.