мне проще костыль запилить и перейти к следующей механике. Которая стала мне интересна.
... а потом взглянуть на свой велосипед из костылей и окончательно выгореть. Выгорание происходит, когда в свой код ты боишься палочкой тыкнуть, не то что дописывать. Откладывание проблемы в долгий ящик отсрочит неизбежное, но не нужно питать ложных иллюзий.
Проще то проще, только вот почему-то нормального круга каста в тригорных заклинаниях можно по пальцам пересчитать. Хотя что может быть проще при добавлении юнитов в группу добавить радиуса с запасом, а потом отфильтровать через:
constant native IsUnitInRangeXY takes unit whichUnit, real x, real y, real distance returns boolean
Притом тот же реф или UjAPI позволяют получать размер круга и его не нужно хардкодить в спеле.
EugeAl, видать назревает непонимание в терминологии. Физический размер это диаметр окружности, которая используеется при расчёте проходимости. Возможно радиус, я точно не помню. Для дальнейших рассуждений возьмём диаметр.
Дальше проще всего показать на рисунках.
IsUnitInRange
Смотри, есть юниты A и C, половина физ размера для юнита A это радиус AB. Для юнита C это отрезок CD.
Ну и дальге нужно понять, что возврашает функция:
native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
EugeAl, та, которая физический размер. Обе функции его учитывают:
constant native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
constant native IsUnitInRangeXY takes unit whichUnit, real x, real y, real distance returns boolean
Напрямую в ваниле его не получить, так что это единственный способ сделать нормальный зацеп.
Я например её юзаю в свободных от осей прямоугольниках и в AOE, чтоб цеплять ровно в круг:
Уже почти седьмой год IntelliJ является моей боевой IDE. Многие вещи там сделаны довольно таки удобно. А если сравнивать с VSCode, то это верх дизайнерского изыска. За всё это дело приходится платить оперативой, что собственно не сложно.
Ну и не забываем про API для разработчиков. Когда кто-то напишет Language Server для JASS то пинганите. Я пока что не видел ни одного редактора, который разбирает жасс семантически. Только унылая подсветка по шаблонам.
Преимущество Toolbox в том, что он позволяет паралельно держать несколько версий IDE без особого напряга. При мажорных обновлениях не все плагины успевают подтянуться, так что иногда очень выручает.
» IntelliJASS / BLP
Отредактирован nazarpunk
» WarCraft 3 / Помощь с триггером WC3
» WarCraft 3 / Помощь с триггером WC3
» WarCraft 3 / Не срабатывает условие
» IntelliJASS / Переменные
» WarCraft 3 / Как создавать локальные переменные, если не умеешь кодить?
» WarCraft 3 / Телепорт Юнитов
» WarCraft 3 / Некоретная работа тригера
» WarCraft 3 / Некоретная работа тригера
Отредактирован nazarpunk
» WarCraft 3 / Не срабатывает условие
» IntelliJASS / BLP
» WarCraft 3 / Угон транспорта
» WarCraft 3 / Угон транспорта
» WarCraft 3 / Угон транспорта
» WarCraft 3 / Угон транспорта
Отредактирован nazarpunk
» WarCraft 3 / Угон транспорта
IsUnitInRange
Отредактирован nazarpunk
» WarCraft 3 / Угон транспорта
Тупая проверка расстояния
IsUnitInrangeXY
» WarCraft 3 / Угон транспорта
» IntelliJASS / IntelliJASS
» IntelliJASS / IntelliJASS
» IntelliJASS / IntelliJASS
» IntelliJASS / IntelliJASS
» Unryze Jass API / UjAPI - AngelScript
» IntelliJASS / IntelliJASS