Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kuhlmann

menu circular em 3D

Recommended Posts

Ola meu amigos do Forum,

estou com uma dificuldade com uma action em flash.

sendo que essa action peguei do:

http://www.pontoflash.com.br/colunas/mater...=3&Item=366

ela faz um efeito vertical, e gostaria de mudar para horizontal, sendo que nao consigo achar o campo para modificação.

alguem pode me ajudar, agurdo retorno

 

Att. Sr. Kuhlmann

 

CODE
var clips = Array("goleiro", "meiao", "disputa", "bola", "embaixada");

var raio = 150; // raio de rotacao

var aceleracao = 0.05; // aceleracao do mouse para o giro

var alphaMinimo = 20; // transparencia do botao de menu mais distante

var alphaMaximo = 70; // transparencia do botao de menu mais proximo

var escalaMinima = 50; // 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

// mouse nao 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 = Stage.width / 2;

var yIni = Stage.height / 2;

 

var dobroRaio = raio * 2;

var conversao = Math.PI / 180;

// fator de conversao de angulo para radiano

var difAngular = 360 / clips.length;

// 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 eh responsavel por girar o menu

this.onEnterFrame = function () {

// calculamos se o mouse esta fora da area central

// e com que velocidade o menu ira girar

velocidade = (_root._ymouse - yIni)

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++)

{

// criar alias para o clipe de filme atual

var ptr = _root[clips];

// alterar posicao horizontal do menu

ptr._x = xIni;

// calcular a diferenca angular desse menu

// em relacao a origem da roda

ptr.difAngular = difAngular * i;

// buscar as posicoes X (profundidade) e Y (altura) do menu

var pos = posCircular(angulo + ptr.difAngular, raio);

ptr._y = yIni + pos.y;

// calcular percentual de afastamento do menu

// para alterar seu tamanho e transparencia

var perc = (pos.x + 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.x + dobroRaio);

}

}

 

Baixe aqui o arquivo para download

 

 

Thiago Prado

thiagocpostal-artigos@yahoo.com

 

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao vi seu codigo... mas talvez se você inverter alguns posicionamentos x e y você deve chegar no resultado q você ker

=P

flws

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.