Как увеличить скорость счёта с изменением скорости игрока?

В данный момент в Void Update у меня выполняется AddScore(), внутри которого просто прибавляется постоянно счёт: scoreCounter++; Ниже предоставил необходимый кусочек кода.
void Update()
    {
        AddScore();
    }
    
    public void AddScore() {
        scoreCounter++;
    }

Сейчас счёт прибавляется очень быстро, оно и ясно, потому что он в Update. Но я хочу сделать так, чтобы он прибавлялся не так сильно быстро, но и не медленно (не каждую секунду +1), и чтобы его скорость обновления зависела от скорости персонажа (zSpeed).
Сейчас при каждых 10 сек скорость персонажа увеличивается на 1 и нужно сделать так, чтобы когда скорость персонажа была очень большой, счёт тоже прибавлялся гораздо быстрее, чтобы он не шёл медленно, а персонаж двигался быстро. Я надеюсь, что понятно объяснил ситуацию. Спасибо за помощь! )
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
@Hutson Автор вопроса
Решил проблему. Поставил таймер, который делает увеличение счёта не таким быстрым и зависит от скорости теперь. Может кому-то пригодится
private float timerScore = 0.2f; //если хотим медленнее - увеличиваем, быстрее - уменьшаем
private float timerScore_;
public float zSpeed = 25f;
    void Start()
    {
        timerScore_ = timerScore;
    }

    void Update()
    {
        if (timerScore > 0) {
            timerScore -= Time.deltaTime * zSpeed;
        }
        else {
            timerScore = timerScore_;
            AddScore();
        }
    }
    public void AddScore() {
        scoreCounter++;
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы