Какая проверка будет наиболее подходящей выхода юнита из круга
Допустим есть круглая зона типа арены, этот круг обставлен блокираторами путями, но этот круг не ровный и задача, если юнит выйдет за круг(т.е за блокираторы) нужно переместить его обратно, вот как узнать, что юнит вышел за блокираторы, проверки на радиус баффа и расстоянием между центром круга и конечным радиусом отпадает, потому что круг не ровный и проверка может не сработать (Патч 1.26а)

Лучший ответ:
Через тип текстуры земли или как там трава называется.
За кругом используешь ту, которой нет в игровой зоне. Если юнит находиться на ней, то твои действия.


Views: 318

» Лучшие комментарии


noyl #1 - 9 months ago (изм. ) 3
Голосов: +3 / -0

Через тип текстуры земли или как там трава называется.
За кругом используешь ту, которой нет в игровой зоне. Если юнит находиться на ней, то твои действия.
Nelloy #3 - 9 months ago (изм. ) 0
Голосов: +0 / -0
Можно заполнить этот "овал" регионами с пересечениями. При входе в регион добавлять к счетчику для юнита +1, при выходе -1. Тогда если юнит не находится ни в одном регионе, его счетчик равен 0. А пронумеровав регионы степенями двойки и прибавляя/вычитая эти номера из счетчика можно еще и определить последний регион в котором был юнит.
Если твоя арена имеет форму близкую к овалу, можно использовать формулу для эллипса. Точно не припомню, но надо найти константы двух его фокусов и его "радиус", а условием пребывания юнита внутри эллипса будет что сумма расстояний до этих фокусов меньше, чем "радиус" эллипса.
quq_CCCP #5 - 9 months ago 0
Голосов: +0 / -0
Событие - юнит покидает регион.
Razor_dex #6 - 9 months ago 0
Голосов: +0 / -0
noyl:
Через тип текстуры земли или как там трава называется.
За кругом используешь ту, которой нет в игровой зоне. Если юнит находиться на ней, то твои действия.
Да, этот вариант более подходящий, но тоже есть минус, те текстуры которые используются на арене они есть и за пределы ее, в основной зоне карты, сама арена в отдельной зоне, менять ландшафт тоже не вариант, однако задача что бы не происходило багов типа герой улетел за пределы триггерным скилом, пока скилы рассчитаны на перемещения на короткие дистанции думаю это сработает. Обвел определенной текстурой вокруг арены и поставил твою проверку если юнит попадает на эту текстуру то перемещает обратно, костыльно, но все же работает спасибо :)
pro100master #7 - 9 months ago 0
Голосов: +0 / -0
создаеш дамми невидимка и его создаеш в центр арены и он будет чекать при клик который и возврашает результат. Если результат вернул ошибку значит проходимость нет в такой точке который герой улетел за блок