在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文本对象。
[SerializeField] Private Text countdownTimer; // will require UnityEngine.UI at top
每次更改/减少计时器值时,更新countdownTimer
的text
属性。
countdownTimer.text = your_time_left_var.ToString();