/// <summary> /// Check if two circles are in collision /// </summary> /// <param name="circleA"></param> /// <param name="circleB"></param> /// <returns></returns> public static bool Collide(YnCircle circleA, YnCircle circleB) { int r2 = (circleA.X - circleB.X) * (circleA.X - circleB.X) + (circleA.Y - circleB.Y) * (circleA.Y - circleB.Y); return r2 > ((circleA.Radius + circleB.Radius) * (circleA.Radius + circleB.Radius)); }
/// <summary> /// Check if two circles are in collision /// </summary> /// <param name="circleA"></param> /// <param name="circleB"></param> /// <returns></returns> public static bool Collide(YnCircle circleA, YnCircle circleB) { int r2 = (circleA.X - circleB.X) * (circleA.X - circleB.X) + (circleA.Y - circleB.Y) * (circleA.Y - circleB.Y); return(r2 > ((circleA.Radius + circleB.Radius) * (circleA.Radius + circleB.Radius))); }
/// <summary> /// Check if a point is in the circle /// </summary> /// <param name="x">X coordinate</param> /// <param name="y">Y coordinate</param> /// <param name="circle">A circle</param> /// <returns>True if collide then false</returns> public static bool Collide(int x, int y, YnCircle circle) { int r2 = (x - circle.X) * (x - circle.X) + (y - circle.Y) * (y - circle.Y); return r2 > (circle.Radius * circle.Radius); }
/// <summary> /// Check if a point is in the circle /// </summary> /// <param name="x">X coordinate</param> /// <param name="y">Y coordinate</param> /// <param name="circle">A circle</param> /// <returns>True if collide then false</returns> public static bool Collide(int x, int y, YnCircle circle) { int r2 = (x - circle.X) * (x - circle.X) + (y - circle.Y) * (y - circle.Y); return(r2 > (circle.Radius * circle.Radius)); }