Добавлен WeendVidente
почему не работает SetUnitX/Y(...) тогда как если поставить SetUnitPosition(...) в том виде, в каком она представлена в следующем коде, то все срабатывает правильно?
раскрыть
function Trig_Move_Actions takes nothing returns nothing
set I = 0
loop
exitwhen I > udg_MISSILES_i
if udg_MISSILES_i != 0 then
set A = GetUnitFacing(udg_MISSILE[I])
set X = GetUnitX(udg_MISSILE[I]) + 50 * Cos(A * bj_DEGTORAD)
set Y = GetUnitY(udg_MISSILE[I]) + 50 * Sin(A * bj_DEGTORAD)
// call SetUnitPosition(udg_MISSILE[I], X,Y)
call SetUnitX(udg_MISSILE[I], X)
call SetUnitY(udg_MISSILE[I], Y)
call GroupEnumUnitsInRangeOfLoc(G_DMG, GetUnitLoc(udg_MISSILE[I]), 50.00, Condition(function ExplodeFilter))
call ForGroup(G_DMG, function Explode)
else
set udg_MISSILE[I] = udg_MISSILE[udg_MISSILES_i]
set udg_MISSILE[udg_MISSILES_i] = null
set udg_MISSILES_i = ( udg_MISSILES_i - 1 )
set I = I-1
endif
set I=I+1
endloop
endfunction
И кстати, какой из этих вариантов меньше нагружает процессор?
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. nvc123
хотя в твоём код про оптимальность лучше не говорить
Ред. Buulichkaa
аж странно
Код не оптимизирован, это просто я решил создать систему движения с нуля и потихоньку развивать ее.
Sargaraser, я все равно булекспы удалять не буду ибо при таймере в 0,04 лагов не было
и оперативка не очень тратилась