很简单的小功能,主要是用到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<Text>();
//得到游戏开始的时间(单位:秒)
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
}
}