Нужно оттолкнуть юнита на единицу, но именно назад (т.е. в противоположном от его направленности положении). Плохо понимаю как это реализовать. В примерах слишком много лишнего (хэш, таймеры, группы и т.д.), а мне всего лишь единичное действие.

Audes, просто написать
angle-=180
`
ОЖИДАНИЕ РЕКЛАМЫ...
15
Мне ничего умнее чем: создать дамми за нужным юнитом и двинуть юнита к дамми, не приходит в голову.
24
Хеш и таймеры нужны для плавного перемещения юнита. Если тебе нужно просто мгновенно переместить его из точки в точку, то просто считаешь координаты и перемещаешь, если все-же хочется плавного сдвига - придется разбираться с примерами на хеше и таймерах.
Как получить нужные координаты - математика школьного уровня. Угол взгляда юнита получить можно, текущие координаты - тоже, дальше нехитрые вычисления и получаем смещение по каждой из двух осей, которое нужно добавить к текущим координатам чтобы получить новые, после чего перемещаем юнита в эти координаты одной функцией.
15
prog, вот собственно с вычислением и проблема (никогда не дружил с математикой). Можно пример?
24
Синус от угла по одной оси и косинус по другой, умножить на расстояние, не забыть использовать радианы с функциями, принимающими радианы, а градусы - с функциями, принимающими градусы (для перевода одно в другое есть константа). Должно быть и в примерах.
22
prog, можно сделать ещё проще: продвинуть юнита вдоль дистанции под углом в полярной системе координат при помощи функции Ремув юнит полар оффсет.
15
Ledon, prog, как я далёк от того, что вы говорите (на первом курсе чудом сдал тригонометрию). Ну постараюсь поискать примеры.
prog:
умножить на расстояние
расстояние до чего?
26
х + (range * Cos(angle * DEGTORAD))
y + (range * Sin(angle * DEGTORAD))
24
Audes, расстояние, на которое производится сдвиг.
15
Hate, почему-то ругается на отсутствие выражения. Погуглил, везед перед DEGTORAD стоит "bj_", но это не решает проблему.
24
Audes, учти что x, y, range, angle - переменные и что это две отдельные строки кода, а не одна.
5
Audes, А ты каким образом пишешь? Через SetUnitX и SetUnitY ?
И код ошибки сюда скинь!
15
Hate, с радостью бы кинул, но я подумал, что редактор глючит, скачал JNGP... и теперь у меня нет карты. Бывает и такое( Timoxxx, сначала писал SetUnitX и Y соответственно, потом решил через точку (не помню дословно).
28
x+=range * Cos(angle * bj_DEGTORAD)
y+=range * Sin(angle * bj_DEGTORAD)
26
ваши карты скорее всего находятся на своем месте, вы скорее всего смотрели на последние открытые карты
15
nvc123, пропали все мои карты, находящиеся в папке Frozen Trone, а стандартные- нет. Hate, поиск по файлам говорит, что ярлык не найден. Ладно, всем спасибо за помощь!
nvc123, так отталкивает вперёд, а не назад, но я изменил += на -= и готово!
28
Audes, просто написать
angle-=180
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.