Добавлен not_name
Хочу понять как работать с X и Y ( нешарю в джасе )
call SetUnitX(GetEnumUnit(), GetLocationX(udg_all_point[2]) )
call SetUnitY(GetEnumUnit(), GetLocationY(udg_all_point[2]) )
хочу сделать типа ветра сдувающего ( но если двигать стандартной мгновенно переместить юнитов стопит )( через X и Y не стопит )
если статья как работать с X и Y ?
call SetUnitX(GetEnumUnit(), GetLocationX(udg_all_point[2]) )
call SetUnitY(GetEnumUnit(), GetLocationY(udg_all_point[2]) )
хочу сделать типа ветра сдувающего ( но если двигать стандартной мгновенно переместить юнитов стопит )( через X и Y не стопит )
если статья как работать с X и Y ?
вот карту что именно я хочу сделать
Принятый ответ
local location loc=GetUnitLoc(GetEnumUnit())
local location tcLoc=GetUnitLoc(udg_topot_caster)
local real a=AngleBetweenPoints(tcLoc, loc)
call SetUnitX(GetEnumUnit(),GetLocationX(loc) +CosBJ(a) * 10.00 )
call SetUnitY(GetEnumUnit(),GetLocationY(loc) +SinBJ(a) * 10.00 )
call RemoveLocation(tcLoc)
call RemoveLocation(loc)
set tcLoc=null
set loc=null
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
set a = Atan2(y2-y, x2-x)
И еще не забыть проверять, что все это не вылазит за пределы карты
Понятно
ибо подобных вопросов уже дофига видел
Ред. nvc123
в них есть понятие координатной плоскости, теорема пифагора и определение синуса/косинуса
этого достаточно
Ред. DracoL1ch
Другими словами - учись на примерах остальных. В 2д-системе, которой является варкрафт, нет нужды погружаться в пространственную геометрию, плоскости достаточно. Высота - обособленная координата без особых запросов Поэтому находи в любой карте навык с движением, которое тебе надо, и читай код.