使用transform.eulerAngles旋转与所需方向相反的物体

时间:2015-07-10 19:46:47

标签: c# unity3d

以下代码允许我通过加速计旋转我的对象。

void launch() {
    x = Input.acceleration.x;
    finalSpeed = liftSpeed - velocity;
    GetComponent<ConstantForce2D> ().relativeForce = Vector3.right * (finalSpeed);
    rotationZ += x * sensitivityZ;
    rotationZ = Mathf.Clamp (rotationZ, 45, 135);
    transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, rotationZ);
}

我从中获取的代码示例:

transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, -rotationZ);

这导致我的对象颠倒,所以我将它从-rotationZ更改为rotationZ:

transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, rotationZ);

物体以所需的角度限制来回旋转,但是当我倾斜时,它会以错误的方式旋转。我该怎么扭转呢? IE我倾斜我的手机离开我的对象正确。我想向左倾斜然后向左转。反之亦然。

1 个答案:

答案 0 :(得分:0)

GOT IT。我只是改变了

    rotationZ += x * sensitivityZ;

TO:

    rotationZ -= x * sensitivityZ;

现在它正朝着正确的方向旋转