Unity3D应用之时钟与钟表小组件的使用教程

 更新时间:2023年01月30日 16:54:03   作者:恬静的小魔龙  
这篇文章主要来和大家详细介绍一下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时钟钟表组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#多线程处理多个队列数据的方法

    C#多线程处理多个队列数据的方法

    这篇文章主要介绍了C#多线程处理多个队列数据的方法,涉及C#线程与队列的相关操作技巧,需要的朋友可以参考下
    2015-07-07
  • Winform实现调用asp.net数据接口实例

    Winform实现调用asp.net数据接口实例

    这篇文章主要介绍了Winform实现调用asp.net数据接口的方法,以实例的形式讲述了数据接口及反射辨别响应的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • C#泛型运作原理的深入理解

    C#泛型运作原理的深入理解

    这篇文章主要给大家介绍了关于C#泛型运作原理的深入理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 解析C#彩色图像灰度化算法的实现代码详解

    解析C#彩色图像灰度化算法的实现代码详解

    本篇文章是对C#中彩色图像灰度化算法的实现进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#实现XML序列化与反序列化

    C#实现XML序列化与反序列化

    这篇文章介绍了C#实现XML序列化与反序列化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#中数组、ArrayList和List三者的区别详解及实例

    C#中数组、ArrayList和List三者的区别详解及实例

    这篇文章主要介绍了C#中数组、ArrayList和List三者的区别详解及实例的相关资料,需要的朋友可以参考下
    2016-12-12
  • C#使用Socket进行简单的通讯的示例代码

    C#使用Socket进行简单的通讯的示例代码

    Socket 类是基于与 Linux、macOS 或 Windows 的本机互操作性提供的托管代码版本的套接字服务,提供了一系列的接口来支持应用层的调用,下面我们就来学习一下如何使用Socket进行简单的通讯,需要的可以参考下
    2023-12-12
  • C#自定义IP输入框控件

    C#自定义IP输入框控件

    这篇文章主要为大家详细介绍了C#自定义IP输入框控件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • C#使用NPOI对word进行读写

    C#使用NPOI对word进行读写

    这篇文章介绍了C#使用NPOI对word进行读写的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#语言使用gRPC、protobuf(Google Protocol Buffers)实现文件传输功能

    C#语言使用gRPC、protobuf(Google Protocol Buffers)实现文件传输功能

    这篇文章主要介绍了C#语言使用gRPC、protobuf(Google Protocol Buffers)实现文件传输功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10

最新评论