通过set / get简单分配问题

时间:2013-08-22 10:50:36

标签: c# unity3d accessor unityscript mutators

我正在使用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; } }

1 个答案:

答案 0 :(得分:0)

您可能必须传递SoftJointLimit

SoftJointLimit newLimit= new SoftJointLimit();

newlimit.limit= 1.0f;

cj.linearLimit = newlimit;