Как добавить предыдущее и последнее время на одном уровне? - PullRequest
0 голосов
/ 10 июля 2019

Как добавить предыдущее время, которое игрок провел, играя, например, уровень 1, и в следующий раз, когда он играл на том же уровне, будет добавлено к предыдущему времени, которое будет отображаться на доске результатов.

Для получения времени в секундах мы использовали

timereasy1 += Time.deltaTime;

, а затем сохранили его в

PlayerPrefs.SetFloat("timer1",timereasy1);

и добавили в

totaltime=totaltime+timer1;

, но оно не добавитвверх ... По-прежнему будет отображаться недавнее время, проведенное игроком.

1 Ответ

1 голос
/ 11 июля 2019

Вам нужно хранить значение таким, как есть, но вы можете упростить его следующим образом.

private float _timePlayed;

private void Awake()
{
    //When the Game/Level starts get the previous amount of time played if there is a PlayerPref for it otherwise it defaults to 0 as an unset float
    if (PlayerPrefs.HasKey("timer1"))
    {
        _timePlayed = PlayerPrefs.GetFloat("timer1");
    }
}

private void Update()
{
    //Update the Time played during Game Play 
    _timePlayed += Time.deltaTime;
}

private void GameOver()
{
    //At the end of the Game/Level update the PlayerPref with the new value
    PlayerPrefs.SetFloat("timer1", _timePlayed);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...