Ir para conteúdo

Arquivado

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

Diego Macêdo

Menu giratorial na horizontal

Recommended Posts

Alguem poderia me dizer como transformar isso para girar na horizontal?? :unsure:

 

http://pontoflash.com.br/colunas/materia.php?Item=366

 

Vlw!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

facil, onde tiver x você troca por y, e virse-versa

 

/*******************************************/// variavies de configuracao/*******************************************/// guardar as instancias a serem rotacionadas em um vetorvar clips = Array("goleiro", "meiao", "disputa", "bola", "embaixada");var raio = 150; 	// raio de rotacaovar aceleracao = 0.05;	// aceleracao do mouse para o girovar alphaMinimo = 20;	// transparencia do botao de menu mais distantevar alphaMaximo = 70;	// transparencia do botao de menu mais proximovar escalaMinima = 50;	// tamanho do botao de menu mais distantevar escalaMaxima = 100;	// tamanho do botao de menu mais distantevar mouseSeguro = 100;	// pixels em torno do centro nos quais o							// mouse nao gira o menu							/*******************************************/// Variaveis calculadas/*******************************************/// variacao da transparenciavar difAlpha = alphaMaximo - alphaMinimo;// variacao do tamanhovar difEscala = escalaMaxima - escalaMinima;// posicao central do menu em X e Yvar xIni = Stage.width / 2;var yIni = Stage.height / 2;var dobroRaio = raio * 2;var conversao = Math.PI / 180;	// fator de conversao de angulo para radianovar difAngular = 360 / clips.length;	// parcial de cada angulovar 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 raiofunction 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 menuthis.onEnterFrame = function  () {	// calculamos se o mouse esta fora da area central	// e com que velocidade o menu ira girar	velocidade = (_root._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++)	{		// criar alias para o clipe de filme atual		var ptr = _root[clips[i]];				// alterar posicao horizontal do menu		ptr._y = yIni;				// 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._x = xIni + pos.x;				// calcular percentual de afastamento do menu		// 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);	}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow cara.. vlw! ;)agora mais algumas perguntinhas:- Como faço para add mais fotos?- Eu preciso editar alguma coisa no código para adicionar mais fotos?- Como eu faço para ele girar de acordo com o lado do mouse? (ex.: se o mouse estiver do lado esquerdo ele gira pra esquerda...etc)Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

- Como faço para add mais fotos?

- Eu preciso editar alguma coisa no código para adicionar mais fotos?

tranforme sua foto em um movieClip e coloque no palco junto das outras, e nomeie ela(exemplo "foto_mc")

 

 

agora no código va até essa linha

 

// guardar as instancias a serem rotacionadas em um vetorvar clips = Array("goleiro", "meiao", "disputa", "bola", "embaixada");

a dicicione o nome de instancia que você colocou na foto no final dessa sequencia

 

 

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

 

 

- Como eu faço para ele girar de acordo com o lado do mouse? (ex.: se o mouse estiver do lado esquerdo ele gira pra esquerda...etc)

procura por essa parte no código

 

// buscar as posicoes X (profundidade) e Y (altura) do menu		var pos = posCircular(angulo + ptr.difAngular, raio);		ptr._x = xIni + pos.x;

basta você alterar o sinal, para um lado é "+" e para o outro é " - "

 

testa assim

 

// buscar as posicoes X (profundidade) e Y (altura) do menu		var pos = posCircular(angulo + ptr.difAngular, raio);		ptr._x = xIni - pos.x;

 

vai mudando o código, os valores das variaveis que você vai entender como funciona caso queria altera mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Eder Fortunato ja ta ficando pro no assunto rsrs

 

 

 

cara aqui tem esse menu na horizontal e na diagonal que o Eder me deu uma baita força para montar ele monto para mim falando a verdade :P

 

http://rapidshare.com/files/31514325/Desktop.zip

 

abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi galera, to interessado nesse menu tambem na horizontaltentei fazer no flash, mas nem o original consegui. Qdo renderiso n aparece nada.como coloco, e onde, esse codigo desse menu.?por favorgrato

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom.. finalmente to conseguindo fazer o q eu queria..

 

só n to entendo mto bem ainda esse negoço de fazer girar pro lado q eu quero... vou explicar melhor minha ideia.

 

Eu queria botar um botao como uma setinha pro lado direito e outro pro esquerdo.. pra qnd passar o mouse emcima ele fazer girar.. se n tiver emcima fica parado...

 

da pra explicar melhor do jeito q eu to querendo? :rolleyes:

 

vlw pela força galera! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

ngm tem uma resposta?Só fazer girar qnd botar o mouse emcima da setinha e pronto!Estou no aguardo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

era só você usar uma variavel para controlar qual lado deveria ir

 

/*******************************************/// variavies de configuracao/*******************************************/// guardar as instancias a serem rotacionadas em um vetorvar clips = Array("goleiro", "meiao", "disputa", "bola", "embaixada");var raio = 150;	 // raio de rotacaovar aceleracao = 0.05;	// aceleracao do mouse para o girovar alphaMinimo = 20;	// transparencia do botao de menu mais distantevar alphaMaximo = 70;	// transparencia do botao de menu mais proximovar escalaMinima = 50;	// tamanho do botao de menu mais distantevar escalaMaxima = 100;	// tamanho do botao de menu mais distantevar mouseSeguro = 100;	// pixels em torno do centro nos quais o							// mouse nao gira o menu							/*******************************************/// Variaveis calculadas/*******************************************/// variacao da transparenciavar difAlpha = alphaMaximo - alphaMinimo;// variacao do tamanhovar difEscala = escalaMaxima - escalaMinima;// posicao central do menu em X e Yvar xIni = Stage.width / 2;var yIni = Stage.height / 2;var dobroRaio = raio * 2;var conversao = Math.PI / 180;	// fator de conversao de angulo para radianovar difAngular = 360 / clips.length;	// parcial de cada angulovar 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 raiofunction 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 menuthis.onEnterFrame = function  () {	if(direcao!=''){		// calculamos se o mouse esta fora da area central		// e com que velocidade o menu ira girar		velocidade = (_root._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++)		{			// criar alias para o clipe de filme atual			var ptr = _root[clips[i]];						// alterar posicao horizontal do menu			ptr._y = yIni;						// 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);			if(direcao='esquerdo'){				ptr._x = xIni + pos.x;			}else{				ptr._x = xIni - pos.x;			}						// calcular percentual de afastamento do menu			// 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);		}	}}

 

codigos nos botões q vam controlar

 

 

b1.onRollOver=function  () {	direcao='direito'}b2.onRollOver=function  () {	direcao='esquerdo'}b2.onRollOut=b1.onRollOut=function  () {	direcao=''}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Girar pra direita?

b1.onRollOver=function  () {	direcao='direito'}

 

Girar pra esquerda?

b2.onRollOver=function  () {	direcao='esquerdo'}

 

E esse outro fica onde?

b2.onRollOut=b1.onRollOut=function  () {	direcao=''}

Me explica ai melhor pq eu to perdido .. eu n entendo de AS e pouquissimo de Flash!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria os dois botões no palco, e nomeia o botão que rodará para a esquerda de "bt_esq". e o botão que rodará para a direita de "bt_dir"

 

agora você cola no final do 1º frame, esse codigo ao inves desse ultimo que você mostrou

 

 

bt_esq.onRollOver=function  () {	direcao='direito'}bt_dir.onRollOver=function  () {	direcao='esquerdo'}bt_esq.onRollOut=bt_dir.onRollOut=function  () {	direcao=''}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo.. fiz exatamente como você disse e o clip continua rodando pra direita qnd o mouse está na parte de baixo das fotos e pra esquerda quando está emcima das fotos... e os 2 botões q eu criei não estão fazendo nada!=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

aaaahh cara... vlw! ;Dolhei pro seu arquivo e pro meu e percebi a diferença... você tinha pedido pra eu criar um botão... e eu levei ao pé da letra e criei um botão msm la no meu... ja aqui no seu você fez um MC... ehehe.. o resto ta tudo igual! ;)mesmo assim vlw mesmo!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa tarde, peguei o exemplo de vcs, quer dizer do Sr. Eder, estou com uma dúvida, fiz uma apresentação e quero colocar as fotos assim como o seu modelo, mas quero colocar dentro de um movie clip, criei um movie clip chamado girando, e coloquei exatamente tudo ali dentro, porém qdo coloco pra swf não funciona, sabe me dizer o que eu preciso fazer para fazer funcionar dentro de um movieclip, está complicado, me ajuda. please.obrigado. :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz um menu giratório bem legalzinho esses dias ai, aproveitei uns códigos q eu tinha encontrado na net tal, ficou +ou- ... =/ pq tah bugado rs...............

o depth buga d+ =/.......

mas fora o depth td funciona normal =]

eh pro site daki da agencia, to ocupado pra caraio agora, mas depois (se for do interesse de vcs claro) eu posso separar ele num .fla e postar !

 

http://www.ideiaideal.com.br/wpi/

 

eh o sitezinho aqui dah agencia q eu to bolando rs..

mas qria "desbugar ele" antes de mandar pra vcs.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sr. Eder? :lol:

 

 

faz o seguinte

 

 

a unica linha q você muda é essa

 

 

// reposicionamos cada item do menu

for (i = 0; i < clips.length; i++)

{

// criar alias para o clipe de filme atual

var ptr = this[clips];

 

 

 

 

ao inves de _root[clips]; coloquei this[clips];

 

 

 

tenta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif grande mestre Eder, salve, salve...

 

cara funcionou perfeito, também coloquei this no código do mouse: velocidade = (_root._xmouse - xIni)

para funcionar os botões do mouse, e funcionou direitinho, mas bá cara, você é o cara.

 

muito obrigado, e que rápido, você fica conectado 24h no micro o louco...

 

abraços...

 

enquanto o site do Comucation, o efeito é legal, tem que arrumar os códigos pra funcionar legal, mas a intenção foi ótima. qualquer coisa pede para o mestre Eder que ele consegue.

 

muito obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow cara.. seria uma boa você botar o .FLA pra galera analisar e debugar esse codigo ai desse efeito.. achei ele massa assim girando e 'olhando de cima' :Pabraços!

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.