1
Unity 프로젝트에서 타이머를 실행하는 코드가 있고 타이머가 DateTime을 사용하여 여러 장면을 실행하며 시간을 보이도록 편집기에 표시하려고합니다. UI에서.UI 유니티에 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");
모든 도움이나 조언을 주시면 감사하겠습니다.
환상적으로, 이제 타이머가 UI에 표시되고 장면 사이의 카운트 다운이 계속됩니다. 현재 타이머에 총 시간이 8 초로 설정되어있는 경우 00:00:08으로 표시됩니다. 마지막 2 자리 숫자 만 표시하는 방법을 알고 있습니까? 타이머는 10 초를 넘지 않습니다. 다음 코드를 볼 타이머를 가지고 무엇 \t [SerializeField] \t 개인 텍스트 countdownTimer; 및 countdownTimer.text = GlobalCountDown.TimeLeft.ToString(); – Ethranes
TimeLeft 유형에 따라 다릅니다. 정수 카운터 일 경우 정수 출력이어야합니다. TimeLeft가 시간 : 분 : 초 형식으로 오면 그 방법으로 형식을 지정하지 않아야합니다. 결과에는 초가 표시됩니다. 바로 가기 사용'String.Trim()' –