Как мне нанести урон по конусу? Например относительно угла поворота юнита на 45 градусов.

Принятый ответ

Реализацию можешь глянуть тут, но качество кода очень низкое, но как видишь ничего сложного.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
32
3 года назад
Отредактирован quq_CCCP
0
Уже было 100500 раз, выбираем всех в радиусе относительно точки, и увеличиваем радиус если не нужна высокая точность (разумеется точку двигаем), либо высчитываем угол, про угол наглядно с картинками есть тут
Ну а код можно позыркать в опендоте (хотя там спотреть нечего 2 условия).
0
11
3 года назад
0
quq_CCCP, мне говрили что есть функция варкрафте, которая проверяет входит ли угол в диапозон, но я её не нашёл, такая вообще есть?

Меня, собственно, и интересует, как правильно посчитать угол.
0
18
3 года назад
0
Меня, собственно, и интересует, как правильно посчитать угол.
real angle = Atan2(ty-y, tx-x) // x,y - custer; tx,ty - target
0
32
3 года назад
0
Реализацию можешь глянуть тут, но качество кода очень низкое, но как видишь ничего сложного.
Загруженные файлы
Принятый ответ
0
37
3 года назад
0
Тебе проще всего будет увеличивать радиус по линии, запоминая и исключая уже задействованных.
0
32
3 года назад
Отредактирован Берги
0
Есть на луа, украл из скрытого блога Райзеда 2 года назад
-- функция принадлежности точки сектора
-- x1, x2 - координаты проверяемой точки
-- x2, y2 - координаты вершины сектора
-- orientation - ориентация сектора в мировых координатах
-- width - уголовой размер сектора в градусах
-- radius - окружности которой принадлежит сектор
function IsPointInSector(x1,y1,x2,y2,orientation,width,radius)
	local lenght=DistanceBetweenXY(x1,y1,x2,y2)
	local angle=Acos(Cos(orientation*bj_DEGTORAD)*(x1-x2)/lenght+Sin(orientation*bj_DEGTORAD)*(y1-y2)/lenght )*bj_RADTODEG
	return angle<=width and lenght<=radius
end
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.