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