0

Unity 3 を使用しており、ConfigurableJoint コンポーネント内で変数 linearLimit>limit の単純な割り当てを実行しようとしています。以下のコードを使用していますが、「戻り値を変更できません。最初に変数内に配置してみてください」というエラーが表示され続けます。私はアクセサーとミューテーターを数え切れないほど使用してきましたが、これまでにこの問題が発生したことはありません。私は何か間違ったことをしていますか?

//マイコード

ConfigurableJoint cj = gameObject.GetComponent(); cj.connectedBody = objectToGrab;

cj.xMotion = ConfigurableJointMotion.Limited;
cj.yMotion = ConfigurableJointMotion.Limited;
cj.zMotion = ConfigurableJointMotion.Limited;

float newLimit = 1.0f;
cj.linearLimit.limit = newLimit;

//その変数に対する Unity のパブリック アクセサー/ミューテーター

public float limit { get {return this.m_Limit; } set {this.m_Limit = value; } }
4

1 に答える 1

0

SoftJointLimit を渡す必要がある場合があります

SoftJointLimit newLimit= new SoftJointLimit();

newlimit.limit= 1.0f;

cj.linearLimit = newlimit;
于 2013-08-22T11:02:26.923 に答える