利用Text和InputField以及協程編寫倒計時功能,

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;

public class CORtIMER : MonoBehaviour {
InputField inputF;
Text text;
float time;
// Use this for initialization
void Start () {
//獲取InputField組件
inputF = transform.Find(“InputField”).GetComponent();
//獲取Text組件
text = transform.Find(“Text”).GetComponent();
inputF.onEndEdit.AddListener(EndEdit);//添加調用事件

}
// Update is called once per frame
void Update () {
}
void EndEdit(string text)
{
    float tmpTime = 0;

    if (float.TryParse(text,out tmpTime))//將text轉化爲flote類型並賦值給tmpTime
    {
        if (time <= 0)
        {
            time = tmpTime;
            StartCoroutine(TimerCor());
        }
        else
        {
            time = tmpTime;
        }
    }

}
IEnumerator TimerCor()
{
    for (;  ;)
    {

        if (time<=0)
        {

            text.text = "0";
            break;
        }
        text.text = time.ToString();

        time -= Time.deltaTime;
        yield return null;
    }

}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章