Возникла проблема с xy некогда ранее не сталкивался с ней и не нуждался в ней. Короче делаю атаку создается dummy под тип снаряда и летит в цель но появилась нужда немного изменять координаты появления dummy в зависимости от угла поворота героя атакующего цель и нужно так чтобы dummy появлялся допустим с X=X-100.Y координатами. Изначально X = GetUnitX(Герой) и я смещаю ещё на 100 ед но с учетом куда повернут герой . Мне трудновато объяснить письменно постарался изобразить на paint

Принятый ответ

Да я как-то тоже столкнулся с такой проблемой и вот так решил, за основу взял не свою созданную способность. В карте всё наглядно показано, вот только на ГУИ.
Загруженные файлы

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
32
7 лет назад
0
X = X + dist * cos( rad )
Y = Y + dist * sin( rad )
Dist - расстояние на которое вы хотите сместить даммика, rad - угол в радианах. Чтобы сместить дамика влево или вправо от героя, добавьте к его углу поворота 90 градусов, ну или вычтите их. Как перевести градусы в радианы думаю вы знаете.
0
18
7 лет назад
Отредактирован Maniac_91
0
Как-то так:
call CreateUnit(GetOwningPlayer(U), 'unit',  X+100*CosBJ(GetUnitFacing(U)-1.57079632679), Y+100*SinBJ(GetUnitFacing(U)-1.57079632679), GetUnitFacing(U))
Где U - юнит-герой, X и Y - его координаты, а 1.57079632679 - это число Пи пополам (90 градусов).
Хотя с градусами и радианами мог перепутать.
0
7
7 лет назад
0
Maniac_91, Вполне работает но есть косяк .
x допустим я смещаю на 100 , а y на 1
и при определенных градусах все работает но при некоторых атакует с неверной стороны
x = GetUnitX(sa.at1);
y = GetUnitY(sa.at1);
a = GetUnitFacing(sa.at1)
x = x + 100 * CosBJ(a - 1.57079632679)
y = y + 1 * SinBJ(a - 1.57079632679)
0
18
7 лет назад
Отредактирован Maniac_91
0
Sergey105, хм, тогда конвертируй градусы в радианы.
x = x + 100 * CosBJ(a - Deg2Rad(90))
y = y + 100 * SinBJ(a - Deg2Rad(90))
Зачем смещать y на 1?
0
30
7 лет назад
0
Sergey105, направление определяется способностью типа "цель-точка"?
0
7
7 лет назад
0
Clamp, цель боевая единица
Maniac_91, я делаю примерно как в стандартном редакторе
Загруженные файлы
0
18
7 лет назад
Отредактирован Maniac_91
0
Sergey105, 100 - это расстояние от центра героя, это же полярные координаты. Если поставить разные значения, то оно будет неправильным. Проверь, поставив 100 в обоих случаях.
0
7
7 лет назад
0
Maniac_91, ну а мне надо чтобы работало как в стандартном смещение снаряда атаки
0
30
7 лет назад
0
Сейчас допишу правильное решение, терпение.
Sergey105, ты же знаком со структурами?
0
7
7 лет назад
0
Clamp, да
сними только работаю
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.