前言
本文实现了一个基于 Unity3D 和 C# 的小时钟qwq。
以下是本篇文章正文内容
一、制作时钟外观
1.新建Unity项目
2.制作时钟底座
3.完善底座
4.绘制指针
二、让时钟动起来
1.新建C#脚本
2.实现指针转动
3.加入连续转动功能
完整代码如下:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Clock: MonoBehaviour
{
const float degreesPerHour = 30f;
const float degreesPerMinute = 6f;
const float degreesPerSecond = 6f;
public Transform hoursTransform, minutesTransform,secondsTransform;
public bool con;
void Update() {
if (con)
{
updCon();
}
else
{
updDis();
}
}
void updDis()
{
DateTime t = DateTime.Now;
hoursTransform.localRotation =
Quaternion.Euler(0f, t.Hour * degreesPerHour, 0f);
minutesTransform.localRotation =
Quaternion.Euler(0f, t.Minute * degreesPerMinute, 0f);
secondsTransform.localRotation =
Quaternion.Euler(0f, t.Second * degreesPerSecond, 0f);
}
void updCon()
{
TimeSpan t = DateTime.Now.TimeOfDay;
hoursTransform.localRotation =
Quaternion.Euler(0f, (float)t.TotalHours * degreesPerHour, 0f);
minutesTransform.localRotation =
Quaternion.Euler(0f, (float)t.TotalMinutes * degreesPerMinute, 0f);
secondsTransform.localRotation =
Quaternion.Euler(0f, (float)t.TotalSeconds * degreesPerSecond, 0f);
}
}