Ir para conteúdo
Fórum Script Brasil

LadyAra

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre LadyAra

LadyAra's Achievements

0

Reputação

  1. Boa tarde Sou iniciante em Flash..na realidade só sei fazer animações "bobinhas" mas me foi solicitado(meu primeiro emprego) a construir um menu igual ao do link Menu Circular em 3D A dois dias venho tentando adequar a idéia do menu acima para o pedido aqui...o problema é que eles querem que a imagem central...a que aparece com alpha 100...seja a única com alpha 100 e que as demais tenha alpha minino. e não é isso que acontece...a central tem alphamaximo e as imagens ao lado vão diminuindo conforme se afastam já tentei _root _level _parent tudo para pegar apenas a imagem que aparece no centro e deixá-la com alphaMaior = 100 e as demais..independente de onde estejam com alphaMaximo = 70 e o que já é alphaMinimo=0 do jeito que já está. alguém poderia me ajudar...meu prazo está acabando e confesso que estou ficando desesperada(estou em fase de experiência...preciso ir bem) :( Eis meu código...na realidade não muda muito..tentei fazer do meu jeito e não funcionou nem a pau..o jeito foi seguir a risca o tutorial /*******************************************/ // variavies de configuracao /*******************************************/ // guardar as instancias a serem rotacionadas em um vetor var clips = Array("ben", "fada", "corrida", "rosap", "pretoa", "rosa", "hot"); var raio = 250; // raio de rotacao var aceleracao = 0.01; // aceleracao do mouse para o giro var alphaMinimo = 0; // transparencia do botao de menu mais distante var alphaMaximo = 100; var alphaMaior = 100; // transparencia do botao de menu mais proximo var escalaMinima = 5; // tamanho do botao de menu mais distante var escalaMaxima = 100; // tamanho do botao de menu mais distante var mouseSeguro = 100; // pixels em torno do centro nos quais o //altura minima // mouse não gira o menu /*******************************************/ // Variaveis calculadas /*******************************************/ // variacao da transparencia var difAlpha = alphaMaximo-alphaMinimo; // variacao do tamanho var difEscala = escalaMaxima-escalaMinima; // posicao central do menu em X e Y var xIni = 40.0; //142.75 var yIni = Stage.height / 2;// 45.90 Stage.height / 2; varia de acordo com tamanho do meu arquivo pode informar valores pra x e y var alturaMaxima = 80; //valor da altura var alturaMinima = alturaMaxima-50; var dobroRaio = raio*2; var conversao = Math.PI/180; // fator de conversao de angulo para radiano var difAngular = 360/clips.length; var diffAltura = alturaMaxima-alturaMinima; //5 // diferenca angular entre os itens de menu var angulo = 0; // angulo inicial da roda como um todo /*******************************************/ // funcoes /*******************************************/ // funcao para determinar as posicoes X e Y // de um menu em funcao do angulo e do raio function posCircular(angulo, raio) { var pos = new Object(); var rad = angulo*conversao; pos.x = Math.sin(rad)*raio; pos.y = Math.cos(rad)*raio; return pos; } // funcao para ser chamada na mesma frequencia da animacao // e que é responsavel por girar o menu this.onEnterFrame = rodar; function rodar () { // calculamos se o mouse esta fora da area central // e com que velocidade o menu ira girar velocidade = (this._xmouse-xIni); if (Math.abs(velocidade)<=mouseSeguro) { velocidade = 0; } else { velocidade *= aceleracao; } // giramos o menu todo angulo += velocidade; // reposicionamos cada item do menu for (i=0; i<clips.length; i++) { for(j=i; j<clips.length; j++){ var arraydois = this[clips[j]]; // criar alias para o clipe de filme atual var ptr = this[clips[i]]; // calcular a diferenca angular desse menu // em relacao a origem da roda ptr.difAngular = difAngular*i; var centro = difAngular*i; // buscar as posicoes X (profundidade) e Y (altura) do menu var pos = posCircular(angulo+ptr.difAngular, raio); ptr._x = xIni+pos.x; // calcular percentual de afastamento do menu // para alterar seu tamanho e transparencia // para alterar seu tamanho e transparencia var perc = (pos.y+raio)/dobroRaio; ptr._alpha = perc*difAlpha+alphaMinimo; ptr._xscale = ptr._yscale=perc*difEscala+escalaMinima; // colocar o menu acima dos que estao mais afastados ptr.swapDepths(pos.y+dobroRaio); var meio = ptr.getDepth(); // alterar posicao vertical do menu var pctPos = (ptr._xscale-escalaMinima)/(difEscala/100); var posAlt = (pctPos*(diffAltura/100))+alturaMinima; ptr._y = posAlt; arraydois.swapDepths(pos.y); var meiu = arraydois.getDepth(); trace(postAlt) if(meiu == meio){ if(ptr._y == meio){ ptr._alpha = alphaMaior; } } } } };
×
×
  • Criar Novo...