跟踪总播放时间

时间:2014-07-21 13:09:55

标签: c# unity3d

我正在制作游戏,我需要跟踪一些统计数据。我想跟踪总播放时间(自用户开始游戏以来,直到他肯定结束游戏的那一刻)。

我在主菜单中有一个"continue"选项,所以如果有人关闭游戏然后启动它并选择"继续" - 这意味着我需要增加旧的playTime,因为它不是新玩家。

如何跟踪总播放时间?我不能使用编辑脚本,因为我需要从游戏版本中获取它(玩家将使用.exe开始游戏,而不是来自Unity)

1 个答案:

答案 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!