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;
}
}
}
}
};
Pergunta
LadyAra
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
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.