Unity中传入任意数,转换成分,秒,并进行倒计时换算..(两种方式)
第一种方式是利用Unity中的协程,代码如下:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class DemoTest : MonoBehaviour {public Text text;//测试用的数字public int MyTime = 60;void Start (){//开启协程 StartCoroutine (StartUpdate ());}//一秒钟减去1 IEnumerator StartUpdate (){while (true) {if (MyTime > 0) {MyTime -= 1;text.text = UpdateTime (MyTime);} else {break;}yield return new WaitForSeconds (1f);}}/// <summary>/// 时间换算/// </summary>/// <returns>The time.</returns>/// <param name="inputTime">输入的时间</param>string UpdateTime (int inputTime){string temp;int minute, seconds;minute = (int)(inputTime / 60);Debug.Log ("minute = " + minute);seconds = inputTime % 60;Debug.Log ("seconds = " + seconds); // 这样的话,当minute<0的时候只有一个数字,可能有的需求上不允许,所以就换一种方式// if (seconds >= 10) { // temp = "0" + minute + ":" + seconds; // } else { // temp = minute + ":" + seconds; // }//优化版,利用三目运算符进行取值,这样更好的实现倒计时string minTemp = (minute < 10) ? "0" + minute : minute.ToString ();string secTemp = (seconds < 10) ? "0" + seconds : seconds.ToString ();temp = minTemp + ":" + secTemp;return temp;}}
第二种方式,利用Update,原理是一样的
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class DemoTest : MonoBehaviour {public Text text;//测试用的数字public int MyTime = 60;float timer = 0;float timerInterval = 1f;void Update (){timer += Time.deltaTime;if (timer >= timerInterval) {timer = 0;MyTime -= (int)timerInterval;if (MyTime < 0) {return;}text.text = UpdateTime (MyTime);}}/// <summary>/// 时间换算/// </summary>/// <returns>The time.</returns>/// <param name="inputTime">输入的时间</param>string UpdateTime (int inputTime){string temp;int minute, seconds;minute = (int)(inputTime / 60);Debug.Log ("minute = " + minute);seconds = inputTime % 60;Debug.Log ("seconds = " + seconds);// 这样的话,当minute<0的时候只有一个数字,可能有的需求上不允许,所以就换一种方式// if (seconds >= 10) {// temp = "0" + minute + ":" + seconds;// } else {// temp = minute + ":" + seconds;// }//优化版,利用三目运算符进行取值,这样更好的实现倒计时string minTemp = (minute < 10) ? "0" + minute : minute.ToString ();string secTemp = (seconds < 10) ? "0" + seconds : seconds.ToString ();temp = minTemp + ":" + secTemp;return temp;} }
转载于:https://www.cnblogs.com/bw1219/p/9400157.html
Unity中传入任意数,转换成分,秒,并进行倒计时换算..(两种方式)相关推荐
- Linux中vim编辑文件显示行号(临时和永久两种方式)
一.前言 在Linux中经常使用vim编辑器去修改文件,默认是不显示行号的,那如何显示呢?有临时和永久两种方式. 本文由 @大白有点菜 原创,请勿盗用,转载请说明出处!如果觉得文章还不错, ...
- 数仓知识10:数据库存储的两种方式-行存储和列存储
0. 前言 目前大数据存储主要有两种方案可供选择:行存储(Row-Based)和列存储(Column-Based).业界对两种方案有许多争持,争论的焦点是:谁能够更有效地处理海量数据,且兼顾安全.可靠 ...
- matlab 转换 tfrecord,训练数据集与TFRecord互相转换的两种方式
TensorFlow使用TFRecord格式来统一存储数据,该格式可以将图像数据.标签信息.图像路径以及宽高等不同类型的信息放在一起进行统一存储,从而方便有效的管理不同的属性. 将训练数据集转成TFR ...
- linux中安shell怎么传入参数,【linux】linux 下 shell命令 执行结果赋值给变量【两种方式】...
方法1:[通用方法] 使用Tab键上面的反引号 例子如下: find命令 模糊查询在/apps/swapping目录下 查找 文件名中包含swapping并且以.jar结尾的文件 使用反引号 引住命令 ...
- 在oracle 中编写一个程序,用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法...
用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法 北 京 航 空 航 天 大 学 计 算 机 科 学 与 工 程 系 黎 杰 麦 中 凡 ---- 1. 引 言 -- ...
- Unity中制作自定义字体的两种方式
Unity支持自定义图片字体(CustomFont),网上有很多教程,细节不尽相同,当概括起来基本就是两种方式.一是使用BMFont,导出图集和.fnt文件,再使用图集在Unity中设置得到字体.二是 ...
- java中byte数组与int类型的转换(两种方式)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...
- DLL中导出函数的声明有两种方式
本文引用自:VC编程时DLL中导出函数的声明有两种方式 一种方式是:在函数声明中加上__declspec(dllexport): 另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链 ...
- java如何做全局缓存_传智播客JNI第七讲 – JNI中的全局引用/局部引用/弱全局引用、缓存jfieldID和jmethodID的两种方式...
讲解JNI中的全局引用/局部引用/弱全局引用.缓存jfieldID和jmethodID的两种方式,并编写两种缓存方式的示例代码. 1.从Java虚拟机创建的对象传到本地C/C++代码时会产生引用,根据 ...
最新文章
- consul安装配置使用
- Maven 新版本 3.8.1 打包报错 maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories
- Pytorch手敲NLP 模型训练代码四大步骤总结
- Rob hess 关于sift的说明
- 用户选购计算机可分为,助理电子商务师考试试题(1+答案)
- 2019 Android 高级面试题总结 从java语言到AIDL使用与原理
- P2468 [SDOI2010]粟粟的书架 动态规划,主席树,二分答案
- mysql 触发器定义变量_MySQL 函数存储过程触发器定义简单示例
- linux加密框架 crypto 算法管理 - 算法查找接口
- 剖析Caffe源码之InputLayer
- 事务演练 mysql
- Git详解之五:分布式Git
- rms 公式 有效值_有效值是电流电压的均方根值吗?
- 《极客与团队》一说到底真正重要的还是代码本身
- JRE 和 JDK历史版本是为了帮助开发
- 泰灏咨询的使命及愿景
- 笔记本计算机提升性能,笔记本电脑改装!轻松提升电脑性能!
- linux lvm删除分区,Linux LVM中的PV物理卷(硬盘或分区)删除方法
- MFC程序的剖析及生死因果揭秘
- 计算机二级心得体会论文,学习计算机二级心得体会.docx
热门文章
- 【LeetCode - 443】压缩字符串(模拟)
- 【Codeforces - 900C】Remove Extra One(思维,STLset,tricks)
- 【HDU - 1083 】Courses (二分图)
- chrome插件中调用ajax,Chrome扩展程序中的Ajax调用无效
- php 去掉不可见字符串,php去掉指定字符串的办法
- oschina mysql limit_MySQL 用 limit 为什么会影响性能?
- 二位数组的随机生成,遍历,求和,反转。和两个变量的^反转 源码
- Windows下Spring3.x计划任务实现定时备份MySql数据库
- 【大总结2】大学两年,写了这篇几十万字的干货总结
- LeetCode - Easy - 169. Majority Element