Добавлен EviLInside
Мой мозг совсем атрофировался , нужна помощь (пока ещё не медицинская, я надеюсь).
Есть значит моделька в виде заполнения шкалы прогресса , со 100 анимациями ( 1 - 100%). Так вот допустим у меня есть определенная длительность за которую должно набраться 100% этих анимаций, так же переодичность таймера, так вот мне нужно понять как максимально точно заполнять по 1%,.
Мой бред выглядит так. Как это сделать правильно? Лауреаты Нобелевских премий по математике есть тут? :))))
Есть значит моделька в виде заполнения шкалы прогресса , со 100 анимациями ( 1 - 100%). Так вот допустим у меня есть определенная длительность за которую должно набраться 100% этих анимаций, так же переодичность таймера, так вот мне нужно понять как максимально точно заполнять по 1%,.
Мой бред выглядит так. Как это сделать правильно? Лауреаты Нобелевских премий по математике есть тут? :))))
//мы внутри периодической функции :)
sTickbar = sTickbar + 0.03125 // 0.03125 периодичность таймера
if sTickbar >= ОбщаяДлительностьзаполнения/100 then
set sI = sI + 1
call SetUnitAnimationByIndex(sCbar, sI)
set sTickbar = 0
endif
//
p.s ну очевидно нужна универсальная формула что б периодичность любая могла быть и тп
Принятый ответ
period - 0.05, период обновления
cd - длительность, сколько должен заполнятся хп бар
это у меня был фрейм перезарядки, слева направо адаптируйте под себя
cd - длительность, сколько должен заполнятся хп бар
это у меня был фрейм перезарядки, слева направо адаптируйте под себя
function StartFrameCD(cd, fh,period)
local amount = period*100 / cd
local full = 0
TimerStart(CreateTimer(), period, true, function()
full = full + amount
BlzFrameSetValue(fh, full)
if full >= 100 then
DestroyTimer(GetExpiredTimer())
full = 0
end
end)
end
Это работает железно, я так делаю каст бары из фреймов или эффектов, вот ещё пример
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
cd - длительность, сколько должен заполнятся хп бар
это у меня был фрейм перезарядки, слева направо адаптируйте под себя