我正在做一个移动汽车游戏,在该游戏中,我希望手机的传感器为速度计的指针设置动画。我希望它从指向0的破折号旋转到最大点。
针指向最低点:
针指向最大值:
指向最小针的旋转方向是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时,它从最小值顺时针旋转,但没有达到最大值,它停在下图中的附加点上。
针头停止的角度:
指针不会更新其运动,直到到达第三幅图像中的点时都会停止。