上午上完Unity课,睡到下午4点多起床,做了一下这个闹钟,
主要是还是不理解呢。
网址在下面了。
虽然照着实现了,但是还是不理解内涵。
https://sanwen8.cn/p/26c97IR.html
难点在于指针位置的摆放,
还有相关计算
旋转的中心问题等等。
using UnityEngine;
using System;
using System.Collections;
public class ClockAnimator : MonoBehaviour {
private const float
hoursToDegrees = 360f/12f,
minutesToDegrees = 360f/60f,
secondsToDegrees = 360f/60f;
public Transform hours, minutes, seconds;
public bool analog;
// Update is called once per frame
void Update () {
if (analog)
{
// currently do nothing
//DateTime time = DateTime.Now;
TimeSpan timespan = DateTime.Now.TimeOfDay;
hours.localRotation =
Quaternion.Euler(0f, 0f, (float)timespan.TotalHours * -hoursToDegrees);
minutes.localRotation =
Quaternion.Euler(0f, 0f, (float)timespan.TotalMinutes * -minutesToDegrees);
seconds.localRotation =
Quaternion.Euler(0f, 0f, (float)timespan.TotalSeconds * -secondsToDegrees);
}
else
{
DateTime time = DateTime.Now;
hours.localRotation = Quaternion.Euler(0f, 0f, time.Hour * -hoursToDegrees);
minutes.localRotation = Quaternion.Euler(0f, 0f, time.Minute * -minutesToDegrees);
seconds.localRotation = Quaternion.Euler(0f, 0f, time.Second * -secondsToDegrees);
}
}
}