如何在unity中实现倒计时

public class showtime : MonoBehaviour
{
    public TextMeshProUGUI Countdown;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))//如果按下空格后开始倒计时
        {
            StartCoroutine(hahaha());
        }
    }
    IEnumerator hahaha()//声明了一个协程函数 hahaha
    {
        int time = 10;
        Countdown.text = time.ToString();//初始化时间,如果没有点击space时间就会显示默认的text

        while (time > 0)
        {
            yield return new WaitForSeconds(1f);//yield return 语句用于指定协程的暂停点,
                                                //我们创建了一个 WaitForSeconds 对象,并将 
                                                //其作为 yield return 的参数返回。
                                                //这个返回值告诉协程在暂停期间等待指定的时间 
                                                //间隔。
            time--;
            Countdown.text = time.ToString();
        }

        Countdown.text = 10.ToString();//倒计时结束后时间重置
    }
}

使用方法

1.场景中添加一个Text(tmp)组件

2.创建一个空对象

3.创建脚本将上面的代码复制到脚本中并将脚本拖到空对象上

4.将Text(tmp)组件拖入到空对象的Countdown中

5.运行游戏,这时候当你按下空格键的时候倒计时就会开始

你可能感兴趣的:(unity,unity,游戏引擎,c#)