计时器

很简单的小功能,主要是用到Time.time(表示计算机当前时间)记录游戏时间,
将时间拼接起来用到string.Format(“{0}:{1}”,mintues,seconds);

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GUIManage : MonoBehaviour 
{
    float time, startTime;//记录游戏时间、开始时间
    Text timer;//显示时间
    bool isEnd = false;//判断游戏是否结束

    public GameObject gameOverUI;//结束现实的UI

    void Start () {

        timer = GameObject.Find("Canvas/Timer").GetComponent();

        //得到游戏开始的时间(单位:秒)
        startTime = Time.time;  
    }

    void Update () {

        if (isEnd) return;//判断游戏是否结束,结束就直接退出。

        //得到当前时间跟游戏开始的时间的差别 (单位:秒)
        time = Time.time - startTime;

        //秒
        int seconds = (int) (time % 60);
        //分
        int minutes = (int) (time / 60);
                      //占位符 前面的0、1指后面的分秒,    后面2个0,表示:有几位
        string strTime = string.Format("{0:00}:{1:00}", minutes, seconds);
        timer.text = strTime;   
    }                                                    

    public void GameOver()
    {
        gameOverUI.SetActive(true);

        isEnd = true;
    }
}

上面用的是Time.time来记录时间,也可以用协成来记录时间

int number=1;//数量容器
void Start()
{
  //开启协成
  StartCoroutine(fun());
}
IEnumerator fun()
{
     whie(true) 
     {   
         yield return new WaitForSeconds(1.0f);
         number++;//每次等待1秒,数量+1
     }
}

你可能感兴趣的:(计时器,计时器,游戏)