Хочу понять как работать с 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
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
19
7 лет назад
0
Похожие вопросы:

ответ
Нашел проблему!
Зайди в переменную udg_Group и поставь разрядность массива больше одного (Вернее столько, сколько нужно). Юниты дальше и не идут, т.к. групп с индексом больше единицы просто не существует.

0
21
7 лет назад
0
Ну на примитивном уровне так и работать - считывать X и Y с точек и задавать SetUnitX / Y, чтобы действия не прекращались
Только еще проверка нужна, что координаты НЕ за пределами карты, чтоб не сфаталило
В идеале вообще локейшены не юзать, но это пока и мне тяжело
2
28
7 лет назад
2
В идеале вообще локейшены не юзать, но это пока и мне тяжело
А что тяжёлого в не использовании локаций (точек)?
0
17
7 лет назад
Отредактирован GetLocalPlayer
0
Нежелание использовать тип location порой доходит до абсурда. Временами приходилось видеть короткие структуры вида
struct
	real x
	real y
endstruct
лишь бы не использовать точки.
Что касательно темы, почему автора смущает вопрос использование координат объекта, вместо точек? Точки это та же пара координат X и Y упакованных вместе.
0
21
7 лет назад
0
PT153, привычно с точками просто уже, там у меня есть шаблоны, а на X/Y нет
хотя бы вот шаблон на линейное движение в одном направлении на X/Y пригодился бы
3
18
7 лет назад
Отредактирован Maniac_91
3
Есть статья про математическое движение: xgm.guru/p/wc3/mathmov
Вроде так:
u - юнит, x, y - координаты юнита; a - угол.
call SetUnitX(u, x*Cos(a))
call SetUnitY(u, y*Sin(a))
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.