我試圖在游戲結束屏幕上顯示高分,因此我需要使用 PlayerPrefs 來存儲高分。問題是當我使用 PlayerPrefs.GetFloat().ToString() 方法時,我無法將秒轉換為分鐘。您知道這個 ((@"mm:ss)) 方法適用于 TimeSpan 但 PlayerPrefs.GetFloat() 是一個浮點值,所以我也不能使用該方法。我嘗試了 .ToString(string.Format("{0:00}:{1:00}", 分鐘, 秒)) 但它顯示不正確(01:41 而不是 02:21,我認為大約是 141 秒= 2 分 21 秒)。請幫我。 private DateTime startTime; private TimeSpan gameLength; private void Start(){ startTime = DateTime.Now; gameLength = DateTime.Now - startTime; string minutes = gameLength.Minutes.ToString("00"); string seconds = gameLength.Seconds.ToString("00"); mostTimeSurvived.text = PlayerPrefs.GetFloat("HighTime").ToString(string.Format("{0:00}:{1:00}", minutes, seconds));} public void Finish(){ finished = true; gameLength = DateTime.Now - startTime; float gameTimer = (float)gameLength.TotalSeconds; if (PlayerPrefs.GetFloat("HighTime") < gameTimer) { PlayerPrefs.SetFloat("HighTime", gameTimer); mostTimeSurvived.text = gameLength.ToString(@"mm\:ss"); }}
1 回答

BIG陽
TA貢獻1859條經驗 獲得超6個贊
using System;
//...
TimeSpan time = TimeSpan.FromSeconds(PlayerPrefs.GetFloat("key"));
Debug.Log(time.Minutes + ":" + time.Seconds);
- 1 回答
- 0 關注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消