【发布时间】:2015-07-11 16:09:25
【问题描述】:
以下代码允许我通过加速度计旋转我的对象。
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 我将手机向左倾斜,我的对象向右移动。我想向左倾斜然后向左走。反之亦然。
【问题讨论】: