C# 使用transform.eulerAngles与所需方向相反旋转的对象
下面的代码允许我通过加速计旋转我的物体C# 使用transform.eulerAngles与所需方向相反旋转的对象,c#,unity3d,C#,Unity3d,下面的代码允许我通过加速计旋转我的物体 void launch() { x = Input.acceleration.x; finalSpeed = liftSpeed - velocity; GetComponent<ConstantForce2D> ().relativeForce = Vector3.right * (finalSpeed); rotationZ += x * sensitivityZ; rotationZ = Mathf
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);
}
这导致我的对象倒置,因此我将其从-rotationZ更改为rotationZ:
transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, rotationZ);
对象在所需的角度限制内来回旋转,但在倾斜时旋转方向错误。我怎样才能逆转它?我把手机向左倾斜,我的物体向右移动。我想向左倾斜,然后向左走。反之亦然。明白了。我只是改变了
rotationZ += x * sensitivityZ;
致:
现在它正朝着正确的方向旋转
rotationZ += x * sensitivityZ;
rotationZ -= x * sensitivityZ;