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);