Добавлен 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
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
хотя бы вот шаблон на линейное движение в одном направлении на X/Y пригодился бы
Отредактирован Maniac_91
u - юнит, x, y - координаты юнита; a - угол.
call SetUnitX(u, x*Cos(a))
call SetUnitY(u, y*Sin(a))
set a = Atan2(y2-y, x2-x)
И еще не забыть проверять, что все это не вылазит за пределы карты
Понятно
ибо подобных вопросов уже дофига видел
Отредактирован nvc123
в них есть понятие координатной плоскости, теорема пифагора и определение синуса/косинуса
этого достаточно