segunda-feira, dezembro 11, 2006

Desenhando círculos com duplicate movie

Um exemplo de aplicação disso seria a de montar um álbum de fotos.
Ou um relógio desenhado via action script.


//pega o centro do palco
var xCenter:Number = Stage.width / 2;
var yCenter:Number = Stage.height / 2;

//desenha um quadrado de 15x15 de um tom azulado semi transparente.
var mcQuad:MovieClip = this.createEmptyMovieClip("quad_mc",0);
mcQuad.beginFill(0x99aadd,90);
mcQuad.lineTo(15,0);
mcQuad.lineTo(15,15);
mcQuad.lineTo(0,15);
mcQuad.endFill();

//posiciona no centr do stage
mcQuad._x = xCenter;
mcQuad._y = yCenter;

/*
numMC = número de quadrados que se quer duplicado
radius = tamanho da circunferência
circ = variação da circunferência
pi = o PI divido pela variação
*/
var numMC:Number = 90;
var radius:Number = 15;
var circ:Number = 18;
var pi:Number = Math.PI / circ;

for(i=0; i < numMC; i++){
//define o espaçamento entre círculos
radAngle = i*pi;
mcQuad.duplicateMovieClip("circ_mc"+i,this.getNextHighestDepth());
//posiciona o círculo de fato
mcQuad._x += Math.sin(radAngle) * radius;
mcQuad._y += Math.cos(radAngle) * radius;
}

Nenhum comentário: