using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Timer : MonoBehaviour {
public float allTime = 300;
public float remainTime;
bool isPauseTime = false;
bool isStartTime = false;
public Text timerText;
void Start()
{
remainTime = allTime;
ShowTimerStr(remainTime);
}
void Update()
{
if (!isPauseTime&&isStartTime)
{
if (remainTime>0)
{
remainTime -= Time.deltaTime;
ShowTimerStr(remainTime);
}
}
}
//开始计时
public void StartTimer()
{
//isStartTime = true;
//remainTime = allTime;
//Time.timeScale = 1;
//isPauseTime = false;
remainTime = allTime;
ContinueTimer();
}
//暂停计时
public void PauseTimer()
{
isPauseTime = true;
Time.timeScale = 0;
}
//继续计时
public void ContinueTimer()
{
isPauseTime = false;
Time.timeScale = 1;
isStartTime = true;
}
//获取小时
string GetHour(float time)
{
int timer = (int)(time / 3600);
string timerStr;
if (timer < 10)
timerStr = "0" + timer.ToString()+":";
else
timerStr = timer.ToString() + ":";
return timerStr;
}
//获取分钟
string GetMinute(float time)
{
int timer = (int)((time % 3600) / 60);
string timerStr;
if (timer<10)
timerStr = "0" + timer.ToString() + ":";
else
timerStr = timer.ToString() + ":";
return timerStr;
}
//获取秒
string GetSceond(float time)
{
int timer = (int)((time % 3600) % 60);
string timerStr;
if (timer < 10)
timerStr = "0" + timer.ToString() ;
else
timerStr = timer.ToString() ;
return timerStr;
}
//显示计时字符串
void ShowTimerStr(float time)
{
timerText.text = GetHour(time) + GetMinute(time) + GetSceond(time);
}
}
Unity-UGUI定时器(一)
最新推荐文章于 2021-08-09 20:55:03 发布