La función que tienes para crear el círculo, no lo crea a partir del centro, si le dices un círculo en (0, 0) lo crea haciendo que los ejes coordenados queden como tangente.
Si lo deseas utiliza esta función, le debes mandar el centro del círculo como parámetro y te creará el círculo tomando como centro las coordenadas que le envíes:
Código ActionScript :
function drawCircle(movie:MovieClip, posX:Number, posY:Number, radio:Number, fillColor:Number, fillAlpha:Number):Void {
var c1:Number = (Math.SQRT2 - 1) * radio;
var c2:Number = Math.SQRT2 / 2 * radio;
movie.beginFill(fillColor, fillAlpha);
movie.moveTo(posX + radio,posY);
movie.curveTo(posX + radio,posY + c1,posX + c2,posY + c2);
movie.curveTo(posX + c1,posY + radio,posX,posY + radio);
movie.curveTo(posX - c1,posY + radio,posX - c2,posY + c2);
movie.curveTo(posX - radio,posY + c1,posX - radio,posY);
movie.curveTo(posX - radio,posY - c1,posX - c2,posY - c2);
movie.curveTo(posX - c1,posY - radio,posX,posY - radio);
movie.curveTo(posX + c1,posY - radio,posX + c2,posY - c2);
movie.curveTo(posX + radio,posY - c1,posX + radio,posY);
movie.endFill();
}
Ajhora lo que quieres con los ejes coordenados se resuelve muy sencillo, utiliza esta función:
Código ActionScript :
function transformYCord(numero:Number):Number{
var alto:Number = Stage.height;
return (alto - numero);
}
Si quisiera crear un círculo en los (0, 0) pero que este esté situado en la esquina inferior izquierda le digo esto:
Código ActionScript :
this.createEmptyMovieClip("circle_mc", 10);
drawCircle(this.circle_mc, 0, transformYCord(0), 100, 0x99FF00, 100);