1
Unityプロジェクトでタイマーを実行するコードがあり、タイマーがDateTimeを使用して複数のシーンを実行しています。私はカウントダウンを表示できるようにエディターで時刻を表示しようとしていますUI上でUIのTimeSpanタイマーを表示Unity
ここにはカウントダウンのスクリプトがあります。
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に表示され、シーン間のカウントダウンが継続されます。タイマーが合計で8秒になるように設定すると、タイマーは00:00:08と表示されます。最後の2つの数字だけを表示する方法は分かりますか?タイマーは決して10秒を超えることはありません。 次のコードは、タイマーを表示するものです。 \t [SerializeField] \tプライベートテキストカウントダウンタイマー; および countdownTimer.text = GlobalCountDown.TimeLeft.ToString(); – Ethranes
TimeLeftタイプによって異なります。それが単なる整数カウンタであれば、それは単なる整数出力でなければなりません。 TimeLeftが1時間:分:秒の形式になっている場合は、その方法でその方法をフォーマットしないでください。結果には秒が表示されます。ショートカットを使うには 'String.Trim()' –