Добавлен Loran124
Как можно сделать так, чтобы при прыжке, кастер не уходил за границы карты, но при этом облетал юнитов, склоны и т.д.?
Принятый ответ
function SafeX takes real pxx returns real
local real lfr=GetRectMinX(bj_mapInitialPlayableArea)+50
if(pxx<lfr)then
return lfr
endif
set lfr=GetRectMaxX(bj_mapInitialPlayableArea)-50
if(pxx>lfr)then
return lfr
endif
return pxx
endfunction
local real lfr=GetRectMinX(bj_mapInitialPlayableArea)+50
if(pxx<lfr)then
return lfr
endif
set lfr=GetRectMaxX(bj_mapInitialPlayableArea)-50
if(pxx>lfr)then
return lfr
endif
return pxx
endfunction
function SafeY takes real pyy returns real
local real lfr=GetRectMinY(bj_mapInitialPlayableArea)+50
if(pyy<lfr)then
return lfr
endif
set lfr=GetRectMaxY(bj_mapInitialPlayableArea)-50
if(pyy>lfr)then
return lfr
endif
return pyy
endfunction
local real lfr=GetRectMinY(bj_mapInitialPlayableArea)+50
if(pyy<lfr)then
return lfr
endif
set lfr=GetRectMaxY(bj_mapInitialPlayableArea)-50
if(pyy>lfr)then
return lfr
endif
return pyy
endfunction
set a = SafeX(x+80.*Cos(r))
set b = SafeY(y+80.*Sin(r))
set b = SafeY(y+80.*Sin(r))
Как-то так
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
На гуи такое не делают, ресурсоемко и трудоемко + бесполезно
Отредактирован Hodor
Ой ну зачем такой геморрой лишний, аккуратно на точках сделать и всё будет шикарно.
Тем более не такая уж и сложная наработка у него, поэтому тут тупо судить о производительности.
Если да - отключай коллюзию на юните, иначе - включай
Дальше идёт триггерное движение юнита, если упрётся в край карты - будет об него биться