Unity倒计时(Update)

上面是效果

下面是代码

using UnityEngine;
using UnityEngine.UI;

/// <summary>
/// Des: 倒计时测试
/// </summary>
public class TimeTest : MonoBehaviour
{
    /** 显示时间的控件 */
    private Text _text = null;
    /** 当前时间 */
    private float _curTime = 0;
    /** 是否计时 */
    private bool _isCountDown = false;
    /** 开始时间 Unix时间 2019/8/23 9:48:45 */
    private float _startTime = 1566524925;
    /** 结束时间 Unix时间 2019/8/23 18:8:45 */
    private float _endTime   = 1566554925;
    /** 剩余时间 */
    private float _remainTime = 0;
    void Start ()
    {
        // 1. 获取UGUI Text控件
        _text = GameObject.Find("Canvas/Text").GetComponent<Text>();
        // 2. 设置开始倒计时
        _isCountDown = true;
        // 3. 设置剩余时间
        _remainTime = _endTime - _startTime;
    }

	void Update ()
    {
        if (_isCountDown)
        {
            if (_curTime < _remainTime)
            {
                _curTime = _curTime + Time.deltaTime;
            }
            float _lostTime = _remainTime - _curTime;
            if (_lostTime > 0)
            {
                int _day = (int)_lostTime / 86400;
                int _hour = (int)_lostTime % 86400 / 3600;
                int _minute = (int)_lostTime % 3600 / 60;
                int _second = (int)_lostTime % 3600 % 60;
                _text.text = string.Format("活动倒计时:{0}天{1}小时{2}分{3}秒", _day, _hour, _minute, _second);
            }
            else
            {
                _isCountDown = false;
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/u013476751/article/details/100031834