public Transform HourHand;//时针
public Transform MinuteHand;//分针
public Transform SecondHand;//秒针
public bool IsTimeOfDay;//是否开启精准刷新钟表
const float perHour = -30f;
const float perMinute = -6f;
const float perSecond = -6f;
private void Awake()
{
Debug.Log(DateTime.Now);
}
private void Start()
{
}
private void Update()
{
if (IsTimeOfDay)
{
UpdateContinouos();
}
else
{
UpdateDiscrete();
}
}
private void UpdateContinouos()
{
TimeSpan time = DateTime.Now.TimeOfDay;
HourHand.localRotation = Quaternion.Euler(0f, 0f, (float)time.TotalHours * perHour);
MinuteHand.localRotation = Quaternion.Euler(0f, 0f, (float)time.TotalMinutes * perMinute);
SecondHand.localRotation = Quaternion.Euler(0f, 0f, (float)time.TotalSeconds * perSecond);
}
private void UpdateDiscrete()
{
DateTime time = DateTime.Now;
HourHand.localRotation = Quaternion.Euler(0f, 0f, time.Hour * perHour);
MinuteHand.localRotation = Quaternion.Euler(0f, 0f, time.Minute * perHour);
SecondHand.localRotation = Quaternion.Euler(0f, 0f, time.Second * perHour);
}
以上就是所需的代码
H、M、S为空物体,位置在表盘中心