测量2秒之间的差异

时间:2016-08-24 21:39:14

标签: c# android unity3d

我需要在几秒钟内测量2次之间的时间。我需要那个用于点击游戏,以便像:

money += timepassed * moneypersecond

当然我需要在Quit上节省时间A,并在开始时测量时间B,然后测量它们之间的差异。我试着自己制作它,但每当我在手机上运行应用程序时,我就会得到1200万美元。

有什么建议吗?

所以这个保存代码非常完美。

using UnityEngine;
using System.Collections;
using System.IO;
using System;

public class BackGroundSaving : MonoBehaviour
{     
    public Data data;
    System.Diagnostics.Stopwatch czasomierz = new System.Diagnostics.Stopwatch();
    public Data2 data2 = new Data2();

    void Start()
    {
        try
        {        
            Load();
        }
        catch (Exception)
        {

        }
        czasomierz.Start();     
    }

    public void Save()
    {
        data2.wspolczynnik_zarabiania_pieniedzy_na_sekunde_TradeMark = data.wspolczynnik_zarabiania_pieniedzy_na_sekunde_TradeMark;
        data2.wspolczynnik_zarabiania_pieniedzy_na_klikniecie_TradeMark = data.wspolczynnik_zarabiania_pieniedzy_na_klikniecie_TradeMark;
        data2.LastRun = data.LastRun;
        data2.money = data.money;
        Saver.SaveData(data2, "save.bin");
    }

    public void Load()
    {
        Saver.LoadData(ref data2, "save.bin");
        data.wspolczynnik_zarabiania_pieniedzy_na_sekunde_TradeMark = data2.wspolczynnik_zarabiania_pieniedzy_na_sekunde_TradeMark;
        data.wspolczynnik_zarabiania_pieniedzy_na_klikniecie_TradeMark = data2.wspolczynnik_zarabiania_pieniedzy_na_klikniecie_TradeMark;
        data.LastRun = data2.LastRun;
        data.money = data2.money;     
    }

    void OnApplicationFocus(bool pauseStatus)
    {
        if (pauseStatus)
        {

        }
    }

    public void Update()
    { 
        if (czasomierz.ElapsedMilliseconds >= 10000)
        {
            Save();
            czasomierz.Stop();
            czasomierz.Reset();
            czasomierz.Start();
        }

        if (Input.GetKey(KeyCode.Escape))
        {     
            Save();
            Application.Quit();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

在最后一个会话上花费时间并设置当前会话花费的时间的最简单代码是:

using UnityEngine;

internal class Class1 : MonoBehaviour
{
    public void Start()
    {
        var timeSpent = GetTimeSpent();
    }

    public void OnApplicationQuit()
    {
        SetTimeSpent(Time.realtimeSinceStartup);
    }

    private static float GetTimeSpent()
    {
        return PlayerPrefs.GetFloat("TimeSpent");
    }

    private static void SetTimeSpent(float timeSpent)
    {
        PlayerPrefs.SetFloat("TimeSpent", timeSpent);
        PlayerPrefs.Save();
    }
}

现在根据您的需要调整它。