Для красивого оформления спеллов мы часто используем статические спецэффекты (подробнее в статье ДУОСа), но красивее будет, если они будут двигаться. Я хочу рассмотреть несколько самых простых видов движения: 1) движение по окружности; 2) движение по спирали; 3) движение самой спирали.
Создание дамми-юнита (Dummy-Unit)
Для всех видов движения нам понадобится объект, который будет летать - дамми. Я делаю его на основе юнита курица, добавляю ему способность москиты, меняю модель на нужную, тип движения меняю на летающий, по желанию можно убрать тень., изменить масштаб, высоту полёта и т.д.
Движение по окружности
Для начала создадим 3 таких дамми, угол между которыми будет равен 120 градусов (360/3).
В целях оптимизации(удаления утечек) добавим строчку:
Как видите я использую 2 переменные: dummy (юнит,массив) и p (точка, тоже массив) Теперь создадим сам триггер движения. Необходимо создать еще 1 переменную типа реальная angle. Как вы видите, этот триггер изначально выключен.
Добавим в первый триггер строчку с включением триггера движения. Получается такой триггер:
Вот и всё. Можете проверить результат. После можете добавить обнуление переменной angle при выключении триггера.
Движение по спирали
Создаём 1 дамми.
Теперь создаём переменную dist (реальная) , отвечающую за смещение юнита.
Правда есть один побочный эффект – скорость постепенно увеличивается. После всего естественно обнулим переменные (если вы используете спецэффект в карте, я этого пока не делаю)
Движение спирали
Вначале мы должны построить саму спираль. Далее каждого дамми этой спирали двигаем по окружности:
Теперь вам должно быть понятно, как происходит движение по окружности, спирали и самой спирали. Все вопросы можете задавать тут.