Unity3D应用之时钟与钟表小组件的使用教程
一、前言
又见面了哈,今天为大家介绍时钟、钟表的实现方法教程。
实现的方法有很多,这里只是提供了一个思路,本着抛砖引玉的心态,希望能和大家共同学习。
二、效果图及源工程下载
效果图:
源工程下载:
https://pan.baidu.com/s/1x0AwvjoUkR5VBC8xnSQw7Q 提取码:mhns
三、实现
3-1 场景搭建
使用Cylinder搭建一个时钟面,然后使用TextMesh设置小时数,最后使用长短不一的Cube做成时针、分针、秒针。
在这里需要说明的第一点是,需要将时针、分针、秒针拖到对应的父物体下,做成预制体,因为代码是使用Quaternion.AngleAxis函数进行绕轴旋转,所以直接旋转针的话,就变成自转了,所以需要旋转它的父物体,这样子物体就跟着转了,将父物体的坐标设置为0,0,0,那么子物体就是以中心点旋转了。
搭建后如下图所示:
3-2 代码实现
using System;
using UnityEngine;
public class Clock : MonoBehaviour
{
private GameObject HourHands;//时针
private GameObject MinuteHand;//分针
private GameObject SecondHand;//秒针
void Start()
{
HourHands = GameObject.Find("时钟/时针");
MinuteHand = GameObject.Find("时钟/分针");
SecondHand = GameObject.Find("时钟/秒针");
}
void Update()
{
TimeSpan time = DateTime.Now.TimeOfDay;
HourHands.transform.localRotation = Quaternion.AngleAxis(30 * time.Hours, Vector3.up);
MinuteHand.transform.localRotation = Quaternion.AngleAxis(6 * time.Minutes, Vector3.up);
SecondHand.transform.localRotation= Quaternion.AngleAxis(6 * time.Seconds, Vector3.up);
}
}
没错,就是这几行代码就实现了:
四、后言
代码依旧延续简约风格,不多写一行代码
整体思路也很简单,就是获取到当前时间,然后让时针分针秒针转到指定的角度即可。
到此这篇关于Unity3D应用之时钟与钟表小组件的使用教程的文章就介绍到这了,更多相关Unity3D时钟钟表组件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341