通过set/get实现简单的分配问题



我正在使用Unity 3,并试图在ConfigurationJoint组件中执行变量linearLimit>极限的简单赋值。我正在使用下面的代码,但我一直收到错误"无法修改返回值,请先尝试将其放入变量中"。我已经使用了无数次访问器和变异器,但我以前从未遇到过这个问题。我做错什么了吗?

//我的代码

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; } }

您可能必须通过SoftJointLimit

SoftJointLimit newLimit= new SoftJointLimit();
newlimit.limit= 1.0f;
cj.linearLimit = newlimit;

最新更新