赛道总播放时间

本文关键字:时间 播放 | 更新日期: 2023-09-27 18:13:47

我正在创建游戏,我需要跟踪一些统计数据。我想追踪总游戏时间(从用户开始游戏到他结束游戏的那一刻)。

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

我如何跟踪这个总播放时间?我不能使用编辑器脚本,因为我需要这是从游戏构建可用(玩家将开始游戏与.exe,而不是从Unity)

赛道总播放时间

你可以将realtimesinceststartup存储在ApplicationQuit中,例如playerprefs中。像这样的代码应该可以达到这个效果:

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!