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

Лучший ответ:
Проверить расстояние между дамми и целью. Если расстояние <= X (бери 16 или 32, ну или что тебе удобно), то твои действия.
» функция
function DistanceBetweenPoint(xa, ya, xb, yb)
local dx = xb - xa
local dy = yb - ya
return math.sqrt(dx*dx + dy*dy)
end
На гуях есть похожая, но уже с точками.



Просмотров: 261

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


noyl #1 - 1 месяц назад 5   

Проверить расстояние между дамми и целью. Если расстояние <= X (бери 16 или 32, ну или что тебе удобно), то твои действия.
» функция
function DistanceBetweenPoint(xa, ya, xb, yb)
local dx = xb - xa
local dy = yb - ya
return math.sqrt(dx*dx + dy*dy)
end
На гуях есть похожая, но уже с точками.
Morningstar #2 - 1 месяц назад 2   
На гуи звучит как DistanceBetweenPoints(Location L, Location L2)
где L,L2 это просто точки
quq_CCCP #3 - 1 месяц назад 2   
Ну или по расстоянию, или как фрог триггер с событием.. Units in range.
Bergi_Bear #4 - 1 месяц назад 1   
Пикать группу вокруг даммика
и условием IsUnitInRangeXY, проверять что даммик приблизился
Можно без пика вообще и проверки условий, дать даммику постоянный жар преисподней, отслеживать через событие урона
Прикрепленные файлы
Proshel_Doty #5 - 1 месяц назад 0
Можно скачать тонны наработок и посмотреть как там сделано
noyl #6 - 1 месяц назад 4   
Bergi_Bear:
Пикать группу вокруг даммика
и условием IsUnitInRangeXY, проверять что даммик приблизился
Можно без пика вообще и проверки условий, дать даммику постоянный жар преисподней, отслеживать через событие урона
Kappa, что за извращения...
Yury13 #7 - 1 месяц назад 0
Proshel_Doty, geniously!
Proshel_Doty #8 - 1 месяц назад 0
Yury13:
Proshel_Doty, geniously!
Ой ну перестань
А если серьёзно, то да, вокруг тонны обучающего материала, надо просто копать
Yury13 #9 - 1 месяц назад 0
Proshel_Doty, да копать можно. И тогда 3/4 вопросов здесь не было бы. Но если есть такая возможность, я предпочитаю спросить. Если не было бы - тогда копать. Так что тут все по обоюдному желанию, если кто-то хочет объяснить, он сделает это, если нет - то нет, насколько я понимаю систему работы этого раздела сайта. А сказать "загугли" и.т.п. может любой, даже тот, кто вообще не играл в варкафт 3 сможет дать мне такой ответ. Вообще без претензий, просто я прекрасно знал, что есть примеры, но разобраться в них гораздо сложнее, чем получить четкий и лаконичный ответ. А времени чтобы самому во всем разбираться только у школьников много, ну и тех, кто ничем не занимается другим. Я все сказал;-)
Extremator #10 - 1 месяц назад (отредактировано ) 1   
А использовать IsUnitInRange() вера не позволяет?
...или последние патчи совсем непроглядной пеленой глаза застелили?
Borodach #11 - 1 месяц назад 0
Еще можно создавать дамми и приказивать ему атаковать, после ловить получение урона от него
Nelloy #12 - 1 месяц назад 0
Borodach, тогда лучше давать абилку с нужной дальностью и отлавливать ее
Extremator #13 - 1 месяц назад 0
Тогда уж лучше вовсе ничего не делать и не советовать...