【发布时间】:2017-07-23 06:38:21
【问题描述】:
我目前正在开发一款游戏,如果它有计时器,并且最好的时间是可以最快完成课程的时间。例如,第一次运行如果我得到 40 秒将被保存为高分,但如果第二次运行我得到 30 秒将是新的高分。我的应用程序目前的情况正好相反,如果我获得更高的时间,那将是新的高分。
注意:是的,我尝试将符号切换为小于 '(t
源代码 C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Internal;
public class TImer : MonoBehaviour {
public Text timerText;
public Text highscore;
private float startTime;
private bool finished = false;
void Start () {
startTime = Time.time;
highscore.text = PlayerPrefs.GetFloat ("HighScore", 0).ToString();
}
void Update ()
{
float t = Time.time - startTime;
string minutes = ((int)t / 60).ToString ();
string seconds = (t % 60).ToString ("f2");
timerText.text = minutes + ":" + seconds;
if (t > PlayerPrefs.GetFloat ("HighScore", 0)) {
PlayerPrefs.SetFloat ("HighScore", t);
highscore.text = t.ToString ();
}
}
【问题讨论】:
-
inside if statement insert "Debug.Log("Current time: " + t + " - 最高分:" + PlayerPrefs.GetFloat("HighScore", 0));"并在此处粘贴输出
-
当前时间:8.58746 - 最高分:8.58746 TIMEr:Update()