2013-08-22 57 views
0

我使用的是Unity 3,我試圖在ConfigurableJoint組件中執行變量linearLimit> limit的簡單賦值。我正在使用下面的代碼,但我一直收到錯誤「無法修改返回值,請先將它放在變量中」。我無數次地使用了訪問器和增變器,但之前我從來沒有遇到過這個問題。難道我做錯了什麼?通過set/get簡單的分配問題

//我的代碼

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; 

//統一的公共存取/賦值函數的變量

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

回答

0

您可能必須通過SoftJointLimit

SoftJointLimit newLimit= new SoftJointLimit(); 

newlimit.limit= 1.0f; 

cj.linearLimit = newlimit;