我试图通过引用传递向量的特定轴。我知道有几种方法可以完成同样的事情,但我的目标是只传入一个参数(Vector的x,y或z),并且要更新该Vector。我怎么能做到这一点?这就是我想要做的,但显然不起作用:
private void MainMethod()
{
Vector3 myVector = new Vector3(1, 2, 3);
ChangeVector(ref myVector.x);
ChangeVector(ref myVector.y);
//this should all be true
bool newX = myVector.x == 4; //true
bool newY = myVector.y == 4; //true
bool newZ = myVector.z == 3; //true
}
private void ChangeVector(ref Vector3.axis myVectorAxis)
{
myVectorAxis = 4;
}
答案 0 :(得分:0)
Vector3
组件只是floats
,我没有看到任何理由这样做。顺便说一句ChangeVector
功能的签名是错误的。最终应该是这样的:
private void ChangeVector(ref float myVectorAxis)
{
myVectorAxis = 4f;
}