1
我有在我的Unity項目中運行計時器的代碼,計時器使用DateTime運行多個場景,我試圖讓時間在編輯器中可見,以便我可以使倒計時可見在UI上。在UI Unity上顯示TimeSpan計時器
這是倒計時的腳本;
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");
任何幫助或建議本將不勝感激。
神奇的是,計時器現在顯示在用戶界面上,並將繼續在場景之間倒計時。當我將計時器設置爲總共8秒時,計時器顯示爲00:00:08,您是否知道只顯示最後2個數字的方法,計時器將永遠不會超過10秒。 下面的代碼是得到定時器可見的東西 \t [SerializeField] \t private Text countdownTimer; and countdownTimer.text = GlobalCountDown.TimeLeft.ToString(); – Ethranes
這取決於您的TimeLeft類型。如果它只是計數秒的整數計數器,那麼它應該只是整數輸出。如果您的TimeLeft以小時:分鐘:秒的格式出現,那麼您應該避免在該方法中以這種方式進行格式設置。結果只顯示秒。快捷方式使用'String.Trim()' –