我正在制作游戏,我需要跟踪一些统计数据。我想跟踪总播放时间(自用户开始游戏以来,直到他肯定结束游戏的那一刻)。
我在主菜单中有一个"continue"
选项,所以如果有人关闭游戏然后启动它并选择"继续" - 这意味着我需要增加旧的playTime,因为它不是新玩家。
如何跟踪总播放时间?我不能使用编辑脚本,因为我需要从游戏版本中获取它(玩家将使用.exe
开始游戏,而不是来自Unity)
答案 0 :(得分:2)
您可以将realtimeSinceStartup存储在ApplicationQuit上,例如存储在播放器中。这样的事情可以解决问题:
using UnityEngine;
public class TimeStatistics : MonoBehaviour
{
public float TotalTime
{
get
{
float totalTime = Time.realtimeSinceStartup;
if(PlayerPrefs.HasKey("totaltime"))
totalTime += PlayerPrefs.GetFloat("totaltime");
return totalTime;
}
}
void OnApplicationQuit()
{
PlayerPregs.SetFloat("totaltime", this.TotalTime);
}
}
确保脚本始终存在,否则您将无法获得OnApplicationQuit!