如何在 PlayerPrefs 中将秒转换为分钟

我试图在游戏结束屏幕上显示高分,因此我需要使用 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");

    }

}


阿波罗的战车
浏览 49回答 1
1回答

BIG阳

&nbsp;using System;&nbsp; //...&nbsp; TimeSpan time = TimeSpan.FromSeconds(PlayerPrefs.GetFloat("key"));&nbsp; Debug.Log(time.Minutes + ":" + time.Seconds);
打开App,查看更多内容
随时随地看视频慕课网APP