You need the squared length of the distance from the point your testing to the center of the circle.
Then test to see if that number is less than the circles radius squared.
In programming, when using geometry, you'll come across what's known as a Vector2D or 2DVector, it's much like the flash.geom.Point class but normally has a few more methods for subtraction, addition, multiplication, division and so forth with other points in 2D space.
Using such a class as the basis for calculations, testing for a point in a circle is easy.
ActionScript Code:
function testForPointInCircle(circlesPosition:Vector2D, circlesRadius:Number, pointInQuestion:Vector2D):Boolean {
var dist:Number = pointInQuestion.subtract(circlesPosition).squaredLength;
if(dist < circlesRadius * circlesRadius) {
return true;
} return false;
}
The trick becomes applying this to MovieClips.
One way is to create a property on the MovieClip that is an instance of a Vector2D, then when you update the Vectors x and y you also then update the MovieClips x and y.
Or even better, create a special class that takes a MovieClip as a parameter that extends a Vector2D that would update the MovieClips position at the same time its x and y get updated in a getter/setter x and y.
ActionScript Code:
private var _x:Number;
public function set x(value:Number):void {
this._x = value;
this.movieClipRef.x = value;
}
public function get x():Number {
return this._x;
}
private var movieClipRef:MovieClip;
public function MCVector2D(MC:MovieClip):void {
this.movieClipRef = MC;
}
//... for example