using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Timer : MonoBehaviour {
private float allTime =0;
bool isPauseTime = false;
bool isStartTime = false;
public Text timerText;
private int hour;
private int minute;
private int second;
private float timeDelta;
void Start()
{
ShowTimerStr(allTime);
}
void Update()
{
if (!isPauseTime&&isStartTime)
{
allTime = Time.time-timeDelta;
ShowTimerStr(allTime);
}
}
//开始计时
public void StartTimer()
{
timeDelta = Time.time;
isStartTime = true;
ContinueTimer();
}
//暂停计时
public void PauseTimer()
{
isPauseTime = true;
Time.timeScale = 0;
}
//继续计时
public void ContinueTimer()
{
if(isStartTime)
{
isPauseTime = false;
Time.timeScale = 1;
}
}
//获取小时
string GetHour(float time)
{
hour = (int)(time / 3600);
string timerStr;
if (hour < 10)
timerStr = "0" + hour.ToString()+":";
else
timerStr = hour.ToString() + ":";
return timerStr;
}
//获取分钟
string GetMinute(float time)
{
minute = (int)(time-hour*3600)/60;
string timerStr;
if (minute<10)
timerStr = "0" + minute.ToString() + ":";
else
timerStr = minute.ToString() + ":";
return timerStr;
}
//获取秒
string GetSceond(float time)
{
second = (int)time-hour*3600-minute*60;
string timerStr;
if (second < 10)
timerStr = "0" + second.ToString() ;
else
timerStr = second.ToString() ;
return timerStr;
}
//显示计时字符串
void ShowTimerStr(float time)
{
timerText.text = GetHour(time) + GetMinute(time) + GetSceond(time);
}
}
Unity-UGUI定时器(二)
最新推荐文章于 2021-06-30 17:11:54 发布