在程序开发中很多地方会用到计时器进行倒计时的功能。下面我就写一个非常实用的倒计时功能。
首先在场景中建一个Text用来显示倒计时的数值,然后给它加上倒计时的脚本Timer。
代码如下:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Timer : MonoBehaviour {
public float TotalTime;//倒计时总时间
public float RateTime;//倒计时速率
public float TargetTime;//倒计时的目标时间
private float CurrentTime;//当前倒计时剩余时间
private Text ShowTime;
public bool IsRepeat=false;//是否循环倒计时
// Use this for initialization
void Start () {
CurrentTime = TotalTime;
ShowTime=GetComponent<Text>();
}
// Update is called once per frame
void Update () {
CurrentTime -= RateTime * Time.deltaTime;
if (CurrentTime < TargetTime)
{
ShowTime.text = "倒计时结束";
if (IsRepeat)//循环倒计时
{
CurrentTime = TotalTime;
}
}
else
ShowTime.text = CurrentTime.ToString("F2");//显示倒计时时间
}
}
上面代码中已经清楚地注释了每一个变量和每一步重要程序的功能,此处略做解释,TotalTime就是倒计时的总时长,RateTime就是进行倒计时的速率,速率越高计时器跑完的越早;Target Time表示目标时间(因为这里是倒计时,所以目标值肯定比TotalTime要小);IsRepeat可以设置是否为循环倒计时(即倒计时结束后又重新开始倒计时)。
将脚本绑定到Text上后,可以在设置相关的参数。如下:
测试效果,如下:
标签:TotalTime,功能,CurrentTime,ShowTime,float,倒计时,Unity,计时器,public From: https://blog.51cto.com/u_8378185/5990704