在UI Unity上显示TimeSpan计时器

时间:2016-07-30 22:21:11

标签: c# unity3d timer monodevelop unity5

我的代码在我的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");

对此有任何帮助或建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用UI文本对象。

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

每次更改/减少计时器值时,都会更新countdownTimer的{​​{1}}属性。

text