Unity计时器功能

在程序开发中很多地方会用到计时器进行倒计时的功能。下面我就写一个非常实用的倒计时功能。

首先在场景中建一个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上后,可以在设置相关的参数。如下:


测试效果,如下:


  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值