2015-07-10 31 views
0

以下代码允许我通过加速度计旋转我的对象。使用transform.eulerAngles旋转所需方向的相反对象

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我倾斜我的手机离开我的对象正确。我想向左倾斜并向左走。反之亦然。

回答

0

GOT IT。我只是改变

rotationZ += x * sensitivityZ; 

TO:

rotationZ -= x * sensitivityZ; 

现在,它是在正确的方向旋转