Ir para conteúdo

POWERED BY:

Arquivado

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

BUDA

action script do menu 3d circular está dando erro! me

Recommended Posts

Olá galera!!!

 

Bom , eu fiz um menu 3d circuluar de um tutorial do site ponto flash, então criei 5 cenas e fiz os botões desse menu ir para sua respectiva cena, beleza, mas quando eu clico no botão do menu e ele vai pra cena os botões se duplicam e cada botão que eu clica pra ir para sua cena os botões vão se multiplicando, já tentei de tudo mais não consigo resolver, já pesquisei no forum e nada, e queria uma ajuda de vcs.

 

bom o script que eu usei no menu foi esse, e no site que estou fazendo só alterei os nomes dos botões ai no script:

 

/*******************************************/

// variavies de configuracao

/*******************************************/

// guardar as instancias a serem rotacionadas em um vetor

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

}

}

 

E o botão está dentro de um MC e usei o seguinte script no botão:

 

on (release) {

_root.gotoAndPlay(4);

}

 

valeu galera!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer uma função que apaga o menu e chamá-la ao mudar de frame. Escreva logo depois do código do menu:

 

function apagaMenu(){
	for (var i = 0; i < clips.length; i++){
		_root[clips[i]].removeMovieClip();
	}
}

E o seu botão fica:

 

on(release){
	_root.apagaMenu();
	_root.gotoAndPlay(4);
}

Abraço

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.