Мне нужно измерить время между 2 раз в секундах. Мне нужно, что для кликер игры, чтобы сделать, как:Измерение разницы между 2 раза в секундах
money += timepassed * moneypersecond
И, конечно, мне нужно, чтобы сэкономить время А на Quit и измерения времени B на старте, а затем разницу между ними. Я пытался сделать это самостоятельно, но каждый раз, когда я запускал приложение по телефону, я получал как 12000000 денег.
Любые советы?
Так что этот сберегательный код работает отлично.
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();
}
}
}
Ваш код не заполнен. – Aybe
Пожалуйста, предоставьте [mcve]. – DavidG
Еще один совет: избегайте пустых блоков 'catch'. Вы едите исключения и никогда не узнаете, происходит ли вызов функции Load() '. –