我正在使用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; } }
答案 0 :(得分:0)
您可能必须传递SoftJointLimit
SoftJointLimit newLimit= new SoftJointLimit();
newlimit.limit= 1.0f;
cj.linearLimit = newlimit;