using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
public class Clock : MonoBehaviour
{
const float degreeaPerHour = 30f;
const float degreeaPerMinute= 6f;
const float degreeaPerScoend = 6f;
public Transform hoursTransform;
public Transform minutesTransform;
public Transform scendsTransform;
public bool continuous;
private void Awake()
{
}
void Start()
{
//print(DateTime.Now.TimeOfDay.TotalHours);
}
void Update()
{
if (continuous)
{
UpdateContinuous();
}
else
{
UpdateDiscrete();
}
}
/// <summary>
/// 连续时针
/// </summary>
void UpdateContinuous()
{
TimeSpan time = DateTime.Now.TimeOfDay;
hoursTransform.localRotation = Quaternion.Euler(0, 0, (float)time.TotalHours * degreeaPerHour);
minutesTransform.localRotation = Quaternion.Euler(0, 0, (float)time.TotalMinutes * degreeaPerMinute);
scendsTransform.localRotation = Quaternion.Euler(0, 0, (float)time.TotalSeconds * degreeaPerScoend);
}
/// <summary>
/// 不连续时针
/// </summary>
void UpdateDiscrete()
{
DateTime time = DateTime.Now;
hoursTransform.localRotation = Quaternion.Euler(0, 0, time.Hour * degreeaPerHour);
minutesTransform.localRotation = Quaternion.Euler(0, 0, time.Minute * degreeaPerMinute);
scendsTransform.localRotation = Quaternion.Euler(0, 0, time.Second * degreeaPerScoend);
}
}