Не знаю, так подсказали делать. Вот функция какая-то с кругом, но я не уверен с линией ли это пересечение, подскажите плиз:

Код AS3:
public static function InterRayCir(p1, p2, sc, sc_r) {
var EPS = 0.00000001;
var dp = {};
//
dp.x = p2.x-p1.x;
dp.y = p2.y-p1.y;
var a = dp.x*dp.x+dp.y*dp.y;
if (Math.abs(a)<EPS) {
return [];
}
var b = 2*(dp.x*(p1.x-sc.x)+dp.y*(p1.y-sc.y));
var c = sc.x*sc.x+sc.y*sc.y;
c += p1.x*p1.x+p1.y*p1.y;
c -= 2*(sc.x*p1.x+sc.y*p1.y);
c -= sc_r*sc_r;
var bb4ac = b*b-4*a*c;
if (bb4ac<0) {
return [];
} else {
var mu1 = (-b+Math.sqrt(bb4ac))/(2*a);
var mu2 = (-b-Math.sqrt(bb4ac))/(2*a);
//p = p1 + mu1 (p2 - p1)
var r1 = {};
r1.x = p1.x+mu1*(p2.x-p1.x);
r1.y = p1.y+mu1*(p2.y-p1.y);
if (mu1 === mu2) {
return [r1];
} else {
var r2 = {};
r2.x = p1.x+mu2*(p2.x-p1.x);
r2.y = p1.y+mu2*(p2.y-p1.y);
return [r1, r2];
}
}
}
Ну и само собой вопрос о том как это использовать остается открытым

Есть массив врагов, есть точки линии выстрела, а дальше то как, не соображаю ничерта
ps, вроде то что выше это луч с кругом. А как тогда линия с кругом.. но самое то главное как это все использовать может кто-нибудь подсказать
