【问题标题】:Object rotating opposite of desired direction using transform.eulerAngles使用 transform.eulerAngles 与所需方向相反的对象旋转
【发布时间】: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 我将手机向左倾斜,我的对象向右移动。我想向左倾斜然后向左走。反之亦然。

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    知道了。我只是改变了

        rotationZ += x * sensitivityZ;
    

    到:

        rotationZ -= x * sensitivityZ;
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-24
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      相关资源
      最近更新 更多