использовать метод столкновения окружность-круг .. вот метод ..
-(float)asbs:(CGPoint)_arrowPos ballPos:(CGPoint)_ballPos
{
float x = _arrowPos.x-_ballPos.x;
float y = _arrowPos.y-_ballPos.y;
float xy = x*x+y*y;
return xy;
}
if([self asbs:arrow.position ballPos:ball.position]<=size)
{
//collision
}
обратите внимание, что размер = радиус шара + радиус стрелки * радиус шара + радиус стрелки
описанный выше метод использует (квадрат) + b (квадрат) = c (квадрат) для проверки расстояния между двумя точками.