Unity之计时器功能(转)
Unity时钟定时器插件——Vision Timer源码分析之二
前面的已经介绍了vp_Timer(点击前往查看),vp_TimeUtility相对简单很多,vp_TimeUtility定义了个表示时间的结构Units:
- /// <summary>
- /// represents a time measured in standard units
- /// </summary>
- public struct Units
- {
- public int hours;
- public int minutes;
- public int seconds;
- public int deciSeconds; // a.k.a. 'tenths of a second'
- public int centiSeconds; // a.k.a. 'hundredths of a second'
- public int milliSeconds;
- }
下面就直接贴出时间与Units的转换,Units转换为string,时间转换为时钟转过的度数的实现
1.时间与Units的相互转换:
- public static Units TimeToUnits(float timeInSeconds)
- {
- Units iTime = new Units();
- iTime.hours = ((int)timeInSeconds) / 3600;
- iTime.minutes = (((int)timeInSeconds) - (iTime.hours * 3600)) / 60;
- iTime.seconds = ((int)timeInSeconds) % 60;
- iTime.deciSeconds = (int)((timeInSeconds - iTime.seconds) * 10) % 60;
- iTime.centiSeconds = (int)((timeInSeconds - iTime.seconds) * 100 % 600);
- iTime.milliSeconds = (int)((timeInSeconds - iTime.seconds) * 1000 % 6000);
- return iTime;
- }
- public static float UnitsToSeconds(Units units)
- {
- float seconds = 0.0f;
- seconds += units.hours * 3600;
- seconds += units.minutes * 60;
- seconds += units.seconds;
- seconds += (float)units.deciSeconds * 0.1f;
- seconds += (float)(units.centiSeconds / 100);
- seconds += (float)(units.milliSeconds / 1000);
- return seconds;
- }
2.时间转换为字符串string:
- public static string TimeToString(float timeInSeconds, bool showHours, bool showMinutes, bool showSeconds,
- bool showTenths, bool showHundredths, bool showMilliSeconds,
- char delimiter = ':')
- {
- Units iTime = TimeToUnits(timeInSeconds);
- string hours = (iTime.hours < 10) ? "0" + iTime.hours.ToString() : iTime.hours.ToString();
- string minutes = (iTime.minutes < 10) ? "0" + iTime.minutes.ToString() : iTime.minutes.ToString();
- string seconds = (iTime.seconds < 10) ? "0" + iTime.seconds.ToString() : iTime.seconds.ToString();
- string deciSeconds = iTime.deciSeconds.ToString();
- string centiSeconds = (iTime.centiSeconds < 10) ? "0" + iTime.centiSeconds.ToString() : iTime.centiSeconds.ToString();
- string milliSeconds = (iTime.milliSeconds < 100) ? "0" + iTime.milliSeconds.ToString() : iTime.milliSeconds.ToString();
- milliSeconds = (iTime.milliSeconds < 10) ? "0" + milliSeconds : milliSeconds;
- return ((showHours ? hours : "") +
- (showMinutes ? delimiter + minutes : "") +
- (showSeconds ? delimiter + seconds : "") +
- (showTenths ? delimiter + deciSeconds : "") +
- (showHundredths ? delimiter + centiSeconds : "") +
- (showMilliSeconds ? delimiter + milliSeconds : "")).TrimStart(delimiter);
- }
3.时间对应时钟的转过的度数:
- private static float HoursToDegreesInternal(float hours, float minutes = 0.0f, float seconds = 0.0f)
- {
- return (hours * 30.0f) + (minutes * 0.5f) + (seconds * 0.0083333333f);
- }
- private static float MinutesToDegreesInternal(float minutes, float seconds = 0.0f, float milliSeconds = 0.0f)
- {
- return (minutes * 6.0f) + (seconds * 0.1f) + (milliSeconds * 0.0001f);
- }
- private static float SecondsToDegreesInternal(float seconds, float milliSeconds = 0.0f)
- {
- return (seconds * 6.0f) + (milliSeconds * 0.006f);
- }
- private static float MilliSecondsToDegreesInternal(float milliSeconds)
- {
- return milliSeconds * 0.36f;
- }
- 转载自:http.dsqiu.iteye.com
转载于:https://www.cnblogs.com/weiqiangwaideshijie/p/6640108.html
Unity之计时器功能(转)相关推荐
- unity简单计时器_简单且悦目的Pomodoro计时器
unity简单计时器 拟态 (pomotroid) Pomotroid is a simple and configurable Pomodoro timer. It aims to provide ...
- unity实现吸附功能的效果
unity实现吸附功能的效果随笔 物体移动到墙体一定距离会被吸附到墙体上面 这个一定的距离根据代码 Vector3 scale = boxCol.transform.localScale+ new V ...
- Unity录屏功能插件NatCorder使用简记
Unity录屏功能插件NatCorder使用简记 简单介绍 插件下载 使用简介 代码 参考链接 简单介绍 NatCorder 是一个轻量级且易于使用的全功能视频录制 API,适用于 iOS.Andro ...
- unity2d游戏开发系列教程:二、新建工程并熟悉Unity编辑器常用功能
目录 unity2d游戏开发系列教程:一.环境安装 第一步.打开项目 耐心等待一小会 工程界面 第二步.创建第一个场景(第一关)进行试玩 点击图中标号1的运行按钮,即可简单试玩感受,操作如下 移动A, ...
- Android实现计时器功能
使用Handler和线程来实现计时器功能 1.xml布局 在drawable中添加yuan.xml如下 <?xml version="1.0" encoding=" ...
- c# 实现计时器功能
场景 在低液位预警弹窗点击确定后需要实现一个计时器,比如在五分钟后再执行监控. 实现思路是使用Timer然后每秒执行一个方法,在方法中对秒数进行减1操作,等倒计时结束后执行相应的操作. 实现 但是Ti ...
- 关于Unity的回放功能
关于Unity的回放功能 最近公司的仿真项目需要用到回放的功能,但是在unity中的回放功能,无论是插件(EZRecordManager)还是其他人的代码,感觉都不太好,网上有两个博客讲的回放,在这里 ...
- Js实现简单的计时器功能
最近学习JavaScript的计时器功能,做了一个小案例,在此记录一下,需要的童鞋可以看一下,代码的缺点是小时数部分计时样式没有做出来完整的显示,望海涵. <!DOCTYPE html> ...
- Unity计时器功能
在程序开发中很多地方会用到计时器进行倒计时的功能.下面我就写一个非常实用的倒计时功能. 首先在场景中建一个Text用来显示倒计时的数值,然后给它加上倒计时的脚本Timer. 代码如下: using U ...
最新文章
- [Android]Android端ORM框架——RapidORM(v1.0)
- BigDecimal相除异常
- STM32F103CB IAP升级时APP部分调试
- mysql索和使用引的创建_MySQL索引的创建与使用
- windows linux cpu 抢占式 时间片_嵌入式Linux中进程调度怎样来解析
- 使您的Java代码闻起来很新鲜
- HDU-2602-Bone Collector(dp)
- SpringCloud学习笔记002---Spring Cloud实战微服务准备
- unity直播推流方式_【技术猩球】从方案架构分析秀场直播的四种实现方式
- 【渝粤题库】陕西师范大学210024 学前儿童科学教育 作业 (专升本)
- 连锁行业信息化的现状与问题
- 传奇新增物品和装备的内观外观及特效Pak文件详解
- 学习纠错码和相关的计算代数系统
- SpringCloud使用Feign调用第三方接口
- Matlab显示无法解析,MatLab和AMEsim联合编译的时候出现【无法解析的外部符号】问题...
- 装机员系统下载合集(五月更新发布)!
- html5 光线流光效果,HTML5 CANVAS 漂亮的流光线性花形图案动画
- 多品种+小批量生产计划方法
- 实战-Android 系统读取Uboot环境变量实现
- MUR860D-ASEMI快恢复二极管MUR860D参数
热门文章
- Xposed源码剖析——Xposed初始化
- 云计算机玩大型游戏,云游戏实测点评:大部分都可以顺畅玩耍
- 网易内推java 面试_网易内推面试
- blob转file对象_JavaScript Blob 对象解析
- docker mysql 不稳定_docker 的 mysql 容器运行一段时间后崩溃
- 与guacamole服务器的网络不稳定,Apache Guacamole安全漏洞影响数千万用户 - 嘶吼 RoarTalk – 回归最本质的信息安全,互联网安全新媒体,4hou.com...
- core控制器属性注入的用处_了解ASP.NET Core 依赖注入,看这篇就够了
- php好玩的源码_github上比较有趣的PHP开源项目
- linux bash文件,linux之bash配置文件
- 矩阵的特征值、特征向量