一、功能描述:
實現簡單的倒計時功能
二、使用方法
1.新建UI,結構如下圖所示:
2.將下面的Timer腳本掛在“倒計時”物體上面
3.效果圖如下:
/*******************************************************************************
* 版權聲明:保留所有版權
* 版本聲明:v1.0.0
* 類 名 稱: Timer
* 創建日期:2019-10-15 12:00:30
* 作者名稱:王靜
* CLR 版本:4.0.30319.42000
* 修改記錄:
* 描述:數字屏計時器及顯示
******************************************************************************/
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Com.Rainier.WangJing
{
public class Timer : MonoBehaviour
{
public static Timer Instance;
/// <summary>
/// 顯示時間
/// </summary>
public Text showTime;
/// <summary>
/// 是否開始計時
/// </summary>
public bool isStart = false;
/// <summary>
/// 設置的時間
/// </summary>
public int setTime = 1200;
void Start()
{
showTime.text = "00:00";
StartCoroutine(StartCounting(0.1F));
}
/// <summary>
///開始計時
/// </summary>
/// <param name="setValue"></param>
public IEnumerator StartCounting(float speed)
{
int setValue = setTime;
while (setValue > 0)
{
setValue--;
int r = setValue / 1000; //顯示屏十位
int g = setValue / 100 % 10;//顯示屏個位
int b = setValue / 10 % 10;//顯示屏小數點後一位
int a = setValue % 10; //顯示屏小數點後兩位
string rr = showTime.text.ToString().Substring(0, 1);
string gg = showTime.text.ToString().Substring(1, 1);
string bb = showTime.text.ToString().Substring(3, 1);
string aa = showTime.text.ToString().Substring(4, 1);
rr = r.ToString();
gg = g.ToString();
bb = b.ToString();
aa = a.ToString();
showTime.text = rr + gg + ":" + bb + aa;
if (setValue == 0)
{
isStart = false;
Debug.Log("等待結束!請開始下一步");
gameObject.SetActive(false);
}
yield return new WaitForSeconds(speed);
}
}
}
}
寫的比較簡單,有更好的寫法的話歡迎留言