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

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
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
0
37
3 года назад
0
Кстати, только прочитал, что речь про конус. Там точно нужна матрица трансформации. Тут проще дописать wGeometry под свои нужды.
0
11
3 года назад
0
Bergi_Bear, из всего этого я понял только radius и width и то не факт, можешь для тугодумов разъяснить, пожалуйста.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.