在UI Unity上显示TimeSpan计时器

本文关键字:TimeSpan 计时器 显示 UI Unity | 更新日期: 2023-09-27 17:59:16

我有在Unity项目中运行计时器的代码,计时器使用DateTime在多个场景中运行,我正在努力使时间在编辑器中可见,以便在UI上显示倒计时。

这是倒计时的脚本;

public static class GlobalCountDown
{
    static DateTime TimeStarted;
    static TimeSpan TotalTime;
    public static void StartCountDown(TimeSpan totalTime)
    {
        TimeStarted = DateTime.UtcNow;
        TotalTime = totalTime;
    }
    public static TimeSpan TimeLeft
    {
        get
        {
            var result = TotalTime - (DateTime.UtcNow - TimeStarted);
            if (result.TotalSeconds <= 0)
                return TimeSpan.Zero;           
                 return result;
        }
    }
}

这是我在每个场景中对脚本的调用,以携带计时器;

GlobalCountDown.StartCountDown (TimeSpan.FromSeconds (8));

该功能正在发挥作用,但我不确定如何使其在UI中可见,我尝试过使用以下功能,但运气不佳;

string timeLeft = GlobalCountDown.TimeLeft.TotalSeconds().ToString("D2");

如有任何帮助或建议,我们将不胜感激。

在UI Unity上显示TimeSpan计时器

使用UI文本对象。

[SerializeField] Private Text countdownTimer; // will require UnityEngine.UI at top

每次更改/减少计时器值时,更新countdownTimertext属性。

countdownTimer.text = your_time_left_var.ToString();