Como ejemplo, de manera Basica y Minimalista la Clase trabaja asi:..
- NOTA: En el siguiente ejemplo no usare la clase, por lo que tal vez paresca mucho rollo hacerlo... Es nada mas para ver su funcionamiento
- Creas en el escenario un MC vacio, y en su Instancia lo nombras "Vacio" (por ejemplo...)...
- Colocas alineadamente sobre ese MC, otro con Forma de circulo y en su Instancia lo nombras "Mascara"
- En el panel de Acciones agregas el siguiente codigo:..
Código :
//- Valores iniciales var Variable:Number = 33; var Total:Number = 120; var Radio:Number = 150;
- NOTA:Radio va a ser como su nombre indica el radio de nuestra Grafica a Trazar... Variable va a ser un valor cualquiera siempre y cuando sea menor que Total, Ya que esta representara una fraccion de la Grafica, y la diferencia entre ambas sera la otra fraccion restante... (1/3)
- Pero antes de Graficar nescesitamos marcar un angulo(en Radianes), desde el cual empezar y obtener el angulo en Radianes que corresponde a estos dos Valores:..
Código :
var Inicio:Number = 0; //- - - - - - - - - - - - - - - - var angulo:Number = (Variable/Total)*(2*Math.PI);
- Ahora viene la parte principal del Codigo, Graficar...
- Esto se consigue utilizando las funciones de Seno y Coseno, asi como un poco de conocimientos de Trigonometria para obtener los puntos a Trazar...
- Uso correcto de las funciones API de Flash
Código :
//- Obtenemos los puntos que van a Formar el Disco/Moneda/Pastel para la Grafica angInicio = Inicio; angulo1 = Inicio + (angulo/4); angulo2 = Inicio + (angulo/2); angulo3 = Inicio + ((angulo/4)*3); angFinal = Inicio + angulo; //- Definimos los puntos _x,_y en base al Angulo pInicio_x = Math.cos(angInicio)*Radio; pInicio_y = Math.sin(angInicio)*Radio; punto1_x = Math.cos(angulo1)*Radio; punto1_y = Math.sin(angulo1)*Radio; punto2_x = Math.cos(angulo2)*Radio; punto2_y = Math.sin(angulo2)*Radio; punto3_x = Math.cos(angulo3)*Radio; punto3_y = Math.sin(angulo3)*Radio; pFinal_x = Math.cos(angFinal)*Radio; pFinal_y = Math.sin(angFinal)*Radio; //- Dibujamos cada una de las Piezas por los puntos ya marcados Vacio.beginFill(0xF3721D,75); Vacio.moveTo(0,0); Vacio.lineTo(pInicio_x, pInicio_y); Vacio.lineTo(punto1_x, punto1_y); Vacio.lineTo(punto2_x, punto2_y); Vacio.lineTo(punto3_x, punto3_y); Vacio.lineTo(pFinal_x, pFinal_y); Vacio.lineTo(0,0); Vacio.endFill();
- NOTA: Lo que hace el fragmento de codigo anterior, es buscar los puntos que forman el/los triangulos, basandose en el angulo y el Radio
- Esto se consigue utilizando las funciones de Seno y Coseno, asi como un poco de conocimientos de Trigonometria para obtener los puntos a Trazar...
- Finalmente nos queda enmascarar nuestra grafica para que quede mucho mas Estetica:..
Código :
Vacio.setMask(Mascara);
Al final de todo esto nos queda un codigo similar a este:..
Código :
var Inicio:Number = 0; var Variable:Number = 33; var Total:Number = 120; var Radio:Number = 150; //- var angulo:Number = (Variable/Total)*(2*Math.PI); //- angInicio = Inicio; angulo1 = Inicio + (angulo/4); angulo2 = Inicio + (angulo/2); angulo3 = Inicio + ((angulo/4)*3); angFinal = Inicio + angulo; //- pInicio_x = Math.cos(angInicio)*Radio; pInicio_y = Math.sin(angInicio)*Radio; punto1_x = Math.cos(angulo1)*Radio; punto1_y = Math.sin(angulo1)*Radio; punto2_x = Math.cos(angulo2)*Radio; punto2_y = Math.sin(angulo2)*Radio; punto3_x = Math.cos(angulo3)*Radio; punto3_y = Math.sin(angulo3)*Radio; pFinal_x = Math.cos(angFinal)*Radio; pFinal_y = Math.sin(angFinal)*Radio; //- Vacio.beginFill(0xF3721D,75); Vacio.moveTo(0,0); Vacio.lineTo(pInicio_x, pInicio_y); Vacio.lineTo(punto1_x, punto1_y); Vacio.lineTo(punto2_x, punto2_y); Vacio.lineTo(punto3_x, punto3_y); Vacio.lineTo(pFinal_x, pFinal_y); Vacio.lineTo(0,0); Vacio.endFill(); //- Vacio.setMask(Mascara);
Prueben la pelicula y veras los resultados...