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

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

Реализацию можешь глянуть тут, но качество кода очень низкое, но как видишь ничего сложного.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
32
2 года назад
Отредактирован quq_CCCP
0
Уже было 100500 раз, выбираем всех в радиусе относительно точки, и увеличиваем радиус если не нужна высокая точность (разумеется точку двигаем), либо высчитываем угол, про угол наглядно с картинками есть тут
Ну а код можно позыркать в опендоте (хотя там спотреть нечего 2 условия).
0
11
2 года назад
0
quq_CCCP, мне говрили что есть функция варкрафте, которая проверяет входит ли угол в диапозон, но я её не нашёл, такая вообще есть?

Меня, собственно, и интересует, как правильно посчитать угол.
0
18
2 года назад
0
Меня, собственно, и интересует, как правильно посчитать угол.
real angle = Atan2(ty-y, tx-x) // x,y - custer; tx,ty - target
0
32
2 года назад
0
Реализацию можешь глянуть тут, но качество кода очень низкое, но как видишь ничего сложного.
Загруженные файлы
Принятый ответ
0
37
2 года назад
0
Тебе проще всего будет увеличивать радиус по линии, запоминая и исключая уже задействованных.
0
32
2 года назад
Отредактирован Берги
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
0
37
2 года назад
0
Кстати, только прочитал, что речь про конус. Там точно нужна матрица трансформации. Тут проще дописать wGeometry под свои нужды.
0
11
2 года назад
0
Bergi_Bear, из всего этого я понял только radius и width и то не факт, можешь для тугодумов разъяснить, пожалуйста.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.