Таким образом, у вас есть cur_HP
, который должен установить, насколько клапан поворачивается, и он устанавливается с помощью mouseDelta.x
.
Теперь вы хотите, чтобы следующая модификация (mouseDelta.x
) была меньше, чем ближе cur_HP
к max_HP
:
cur_HP += (mouseDelta.x * max_HP/cur_HP) * amount;
Это сделает линейное замедление колеса ближе к концу.
Возможно, вам потребуется настроить переменную amount
, поскольку колесо будет вращаться в 100 раз быстрее, когда вращается на 1 градус.
Убедитесь, что обрабатываете, когда cur_HP равен 0, поскольку деление на ноль крайне недопустимо.
Пример, то же движение X, разная плотность:
Герметичность 20%
- cur_HP = 20
- max_HP = 100
- mouseDelta.x = 1
- сумма = 0.1f
-> новый cur_HP = 20,5
Герметичность: 60%
- cur_HP = 60
- max_HP = 100
- mouseDelta.x = 1
- сумма = 0.1f
-> новый cur_HP = 60.16666