Oficina da Net Logo

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.

COMPARTILHE
Siga no instagramHistórias DigitaisComparador de SmartphonesLançamentos da Netflix
Comentários
Carregar comentários