Con la API de dibujo de Flash podemos crear en tiempo de ejecución formas con rellenos y contornos.

Con la API de dibujo de Flash podemos crear en tiempo de ejecución formas con rellenos y contornos. Si queremos dibujar un círculo con la API tendremos que emplear el método curveTo un mínimo de 8 veces para que la circunferencia salga completamente redonda. En el bloque de código que os mostramos a continuación, definimos una función dibujarCirculo que nos automatiza el proceso de creación.

// función auxiliar para convertir de grados sexagesimales a radianes
function convertirRadianes(grados:Number):Number {
return grados*(Math.PI/180);
}
// x0 y y0 son las coordenadas del centro del círculo
// radio es el radio del circulo

function dibujarCirculo(x0:Number, y0:Number, radio:Number):Void {
// número de iteraciones del método curveTo empleadas (mínimo 8)
var numPasos:Number = 8;
// distancia del manejador de la curva al centro (vble auxiliar)
var distancia_manejador:Number = radio/Math.cos(convertirRadianes(180/numPasos));
// lienzo -> clip donde dibujo el círculo
var lienzo:MovieClip = this.createEmptyMovieClip(«lienzo_mc»+this.getNextHighestDepth(), this.getNextHighestDepth());
lienzo.lineStyle(1, 0x000000, 100);
lienzo.moveTo(x0+radio, y0);
for (var k:Number = (180/numPasos); k<361; k += 360/numPasos) {
var proximoX:Number = x0+distancia_manejador*Math.cos(convertirRadianes(k));
var proximoY:Number = y0+distancia_manejador*Math.sin(convertirRadianes(k));
var proximo_controlX:Number = x0+radio*Math.cos(convertirRadianes(k+(180/numPasos)));
var proximo_controlY:Number = y0+radio*Math.sin(convertirRadianes(k+(180/numPasos)));
lienzo.curveTo(proximoX, proximoY, proximo_controlX, proximo_controlY);
}
}
// creamos el círculo invocando la función
dibujarCirculo(275, 200, 100);