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 回答