Почему этот пример Mathf.Clamp не работает?

Я пытаюсь просто получить от 0 до 1 за 2 секунды, не превышая 0 или 1.

    Mathf.Clamp(buttonPercent += (0.5f * Time.deltaTime), 0, 1.0f);

Это заставляет мое число увеличиваться за 1.

Я знаю простой способ сделать что-то подобное

buttonPercent += 0.5f;
if(buttonPercent > 1){
    buttonPercent = 1;
}

... но мне любопытно, почему мой метод зажима не работает.

Спасибо!

1 ответ

Решение

Mathf.Clamp возвращает фиксированное значение и не меняет входные данные, поскольку это вызов по значению.

Измените это на:

buttonPercent = Mathf.Clamp(buttonPercent + (0.5f * Time.deltaTime), 0, 1.0f);
Другие вопросы по тегам