Собственно, всем доброго времени суток.
Такой вопрос: как создать несколько юнитов вокруг другого юнита? Или вокруг какого-то объекта?
И продолжение вопроса, как заставить их двигаться вокруг юнита?
Всё на тригерах.)
Такой вопрос: как создать несколько юнитов вокруг другого юнита? Или вокруг какого-то объекта?
И продолжение вопроса, как заставить их двигаться вокруг юнита?
Всё на тригерах.)
Принятый ответ
Самый простой способ, это изучить полярное смещение polar offsets of point
a = Atan2(y,x) аркстангенс, обратная функция возвращает угол точки относительно центра координат (0,0). Это обычно, если известна только 1 точка, тогда угол можно продублировать
a = Atan2(y2-y1,x2-x1) можно за основу взять угол между двумя точками. Но все равно тут должен быть какой-то угол
x = ux + r × cos (a)
y = uy + r × sin (a)
a = Atan2(y2-y1,x2-x1) можно за основу взять угол между двумя точками. Но все равно тут должен быть какой-то угол
x = ux + r × cos (a)
y = uy + r × sin (a)
x,y - новые координаты
ux,uy - тек координаты героя, относительно которое происходит смещение. Обычно под них пишут ux=GetUnitX(hero), uy=GetUnitY(hero)
r - расстояние, на которое происходит смещение от героя
a - угол, который происходит поворот
ux,uy - тек координаты героя, относительно которое происходит смещение. Обычно под них пишут ux=GetUnitX(hero), uy=GetUnitY(hero)
r - расстояние, на которое происходит смещение от героя
a - угол, который происходит поворот
Вы можете таймером менять угол a каждую секунду, при этом данные r не меняются. Менятся может только положение ux,uy GetUniX, GetUnotY, тк юнит двигвется.
Пример каждую секунду прибавлять 30°. И будет по вашему вращение по кругу. Только надо будет в радианы перевести.
Пример с картой где вокруг цели вращаются таймером снаряды. Тут еще и исследования проводил.
Сужение круга тут можно поместить снаряды нв определенном расстоянии друг от друга
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. MpW
a = Atan2(y2-y1,x2-x1) можно за основу взять угол между двумя точками. Но все равно тут должен быть какой-то угол
x = ux + r × cos (a)
y = uy + r × sin (a)
ux,uy - тек координаты героя, относительно которое происходит смещение. Обычно под них пишут ux=GetUnitX(hero), uy=GetUnitY(hero)
r - расстояние, на которое происходит смещение от героя
a - угол, который происходит поворот
Ред. Aifrediil
Потому что и на карте, и в статьях, именно что код, а не тригеры.
Ред. MpW
Ред. Aifrediil