Как замедлить значение слайдера - PullRequest
0 голосов
/ 22 февраля 2019

Я уменьшаю значение maxFuelCount на -1.Счетчик гаснет, как и ожидалось. Но очень быстро, когда я долго нажимаю на педаль.Как я могу замедлить значение счетчика?Я попробовал это * Time.deltaTime / 1.5f его работы, не так, как я ожидал.Может кто-нибудь предложить метод или дать какие-либо указания

Большое спасибо за вашу помощь

private void FixedUpdate()
    {
        if (move == true)
        {
            // decreasing the float value
            maxFuelCount--;

            if (maxFuelCount > 0 && timeLeft > 0)
            {
                rb.AddForce(transform.right * engineCapacity * Time.fixedDeltaTime * turboCapacity, ForceMode2D.Force);
                //asigning the decreased value to the slider
                UIBS.NewValue = maxFuelCount * Time.deltaTime / 1.5f;

            }

          }
     }

enter image description here

1 Ответ

0 голосов
/ 22 февраля 2019

Ну, вы уменьшаете 1 каждый кадр газа нажимается.За одну секунду с 50 кадрами в секунду он почти уменьшится на 50, что очень много.Просто уменьшите сумму, которая уменьшает MaxFuelCount.Вы можете использовать MaxFuelCount -= Time.deltaTime;

. Чтобы сделать его еще лучше, вы можете использовать счетчик speed, который можно настроить в зависимости от особенностей местности, например, если вы находитесь в грязи, расход топлива увеличивается следующим образом:

MaxFuelCount -= Time.deltaTime * speed;

Увеличивайте или уменьшайте скорость до степени, удобной для вас.

Также UIBS.NewValue = maxFuelCount * Time.deltaTime / 1.5f; это не будет работать.Опять же, с 50 кадрами в секунду вы делите значение почти на 33 на этот раз, что очень быстро понизит значение.

Также имеет смысл использовать две переменные как MaxFuelAmount (количество топлива, которое может вместить бак) иCurrentFuelAmount.

Затем вы можете рассчитать процент как: CurrentFuelAmount / MaxFuelAmount * 100 и использовать его в качестве значения вашего пользовательского интерфейса.

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