车速表针头旋转

时间:2018-07-09 16:12:26

标签: c# android unity3d

我正在做一个移动汽车游戏,在该游戏中,我希望手机的传感器为速度计的指针设置动画。我希望它从指向0的破折号旋转到最大点。

针指向最低点:

Here is the needle pointing on minimum

针指向最大值:

Here is the needle pointing on maximum

指向最小针的旋转方向是Z轴为222,最大时为-43 ,当我将下面的脚本附加到针上时,它会从最小旋转到最大。但沿逆时针方向旋转并在达到最大值时停止,不会根据我手机的加速度计读数而移动。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RotationControl : MonoBehaviour
{
    static float minAnlge = 222.0F;
    static float maxAngle = -43.0F;
    static RotationControl thisSpeedo;

    // Use this for initialization
    void Start()
    {
        thisSpeedo = this;
    }
    void Update()
    {
        float ang = Mathf.LerpAngle(222, -43, Time.time);

        float z = Input.acceleration.x;
        if (z != 0)
        {
            thisSpeedo.transform.eulerAngles = new Vector3(0, 0, ang);
        }
    }
}

当我将最后一行的ang变量更改为-ang时,它从最小值顺时针旋转,但没有达到最大值,它停在下图中的附加点上。

针头停止的角度:

The angle in which needle stops

指针不会更新其运动,直到到达第三幅图像中的点时都会停止。

0 个答案:

没有答案