Desenhar uma circunferência com a API de desenho do Flash

Com a API de desenho do Flash podemos criar, em tempo de execução, formas com preenchimento e contorno. Se quisermos desenhar um círculo com a API teremos que empregar o método curveTo 8 vezes para que a circunferência saia completamente redonda.

Por | @jonathanlamimkt Softwares

Com a API de desenho do Flash podemos criar, em tempo de execução, formas com preenchimento e contorno. Se quisermos desenhar um círculo com a API teremos que empregar o método curveTo  8 vezes para que a circunferência saia completamente redonda. No bloco de código que veremos a seguir, definimos uma função desenharCirculo que automatiza o processo de criação.

Código Action Script 2.0

//função auxiliar para converter de graus sexagesimais para radianos
function converterRadianos(graus:Number):Number {
return graus*(Math.PI/180);
}

// x0 e y0 são as coordenadas do centro do círculo
// raio é o raio do círculo
function desenharCirculo(x0:Number, y0:Number, raio:Number):Void {

//número de interações do método curveTo empregadas (mínimo 8)
var numPassos:Number = 8;

//distancia do manipulador da curva até o centro (variável auxiliar)
var distancia_manipulador:Number = raio/Math.cos(converterRadianos(180/numPassos));

// desenharaqui -> clip onde será desenhado o círculo
var desenharaqui:MovieClip = this.createEmptyMovieClip("desenharaqui_mc"+this.getNextHighestDepth(), this.getNextHighestDepth());
desenharaqui.lineStyle(1, 0x000000, 100);
desenharaqui.moveTo(x0+raio, y0);
for (var k:Number = (180/numPassos); k<361; k += 360/numPassos) {
var proximoX:Number = x0+distancia_manipulador*Math.cos(converterRadianos(k));
var proximoY:Number = y0+distancia_manipulador*Math.sin(converterRadianos(k));
var proximo_controleX:Number = x0+raio*Math.cos(converterRadianos(k+(180/numPassos)));
var proximo_controleY:Number = y0+raio*Math.sin(converterRadianos(k+(180/numPassos)));
desenharaqui.curveTo(proximoX, proximoY, proximo_controleX, proximo_controleY);
}
}

//criamos o círculo chamando a função
desenharCirculo(275, 200, 100);

A função desenharCirculo pode ser chamada em qualquer parte do código, desde que esteja depois da declaração a função. Pode ser colocada no evento de click de um botão, na abertura de um frame, ou cena, emfin, onde você quiser.

Mais sobre: flash desenho API
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo

Siga nossas contas no Twitter