Ir para conteúdo

POWERED BY:

Arquivado

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

arthur presser

menu em loop

Recommended Posts

Eu queria saber se alguém pode me ajudar nessa.to fazendo um site que requer um menu horizontal parecido com o do www.bmaisg.com.br/ (seção "portfólio", "embalagens") . onde as imagens fazem um loop horizontal, e funcionam também como barra de rolagens invisíveis (ou seja, basta deixar o mouse em cima da imagen que ela vai arrastando as outras).no entanto, tudo que eu encontrei aqui no fórum foi essa action:

(retirado do tópico http://forum.imasters.com.br/index.php?sho...&hl=sem+clicar)Tenho um movie clip (menu) com cinco imagens, no primeiro frame da cena principal tem :pos_menu = getProperty ( _root.menu, _x );pos_mouse = _xmouse;velocidade = 0;if (pos_mouse <=146) {velocidade = 10;}if (pos_mouse >=200) {velocidade = -10;}e no segundo frame tem:pos_menu = pos_menu + velocidade;setProperty("_root.menu", _x, pos_menu);if (pos_menu >= 306) {setProperty("_root.menu", _x, 0);}if (pos_menu <= 0) {setProperty("_root.menu", _x, 306);}

essa action até funciona pra fazer com que as imagens arrastem conforme o mouse, mas o que eu quero saber é:como fazer o loop?como fazer para que apenas as imagens das extremidades sirvam como rolagem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ae irmaumzim... beleza???

 

Oh soh... num usei o codigo ae em cima naum, beleza???

Vamo lah:

 

1º - Pega tds os itens do teu menu e transforma em um Movie Clip (chamarei este de "menuu" pois foi como eu o instanciei no codigo lah em baixo!). Crie uma camada para por o menuu. Ele deve estar só na camada;

2º - Dentro do menuu, duplique td os itens e coloque-os à direita dos originais;

3º - Volte a time line principal e crie uma camada chamada "Mascara". Nela, crie um quadrado por cima dos itens originais do menuu;

4º - Posicione a nova camada acima da camada do menuu e transforme-a em mascara;

5º - Crie outra camada e nela desenhe outro quadrado do mesmo tamanho e na msm posição q o quadrado da camada "Mascara";

6º - Transforme este 2º quadrado em Movie Clip e instancie-o de "area";

 

Antes de continuar, vamos entender o porquê de duplicar os itens do menu.

Nós faremos os itens rolarem prum lado e pro outro, certo? Criamos uma mascara para delimitar a área visivel do nosso menu, certo? Assim ninguem ve q o menu esta duplicado. Logo, qd os itens começarem a rolar para o lado onde estão as cópias, começará o looping.

O macete deste efeito, é fazer com que o MC menuu se reposicione quando estiver sendo vista a ultima copia de seus itens.

 

Exemplo:

Temos

 

:: Item 1 :: :: Item 2 :: :: Item 3 :: :: Item 4 :: :: Item 1b :: :: Item 2b :: :: Item 3b :: :: Item 4b ::

|________Área visível_________|

 

Certo? O q faremos?

Qd o menu rolar para a esquerda, começará a mostrar as copias, onde 4b é a ultima copia.

Qd o fim 4bestiver sendo visto, ou seja, assim:

 

:: Item 1 :: :: Item 2 :: :: Item 3 :: :: Item 4 :: :: Item 1b :: :: Item 2b :: :: Item 3b :: :: Item 4b ::

______________________________________________|__________Área visível__________|

 

Reposicionaremos o menu para q o item 4 fique na posição do 4b, assim:

 

:: Item 1 :: :: Item 2 :: :: Item 3 :: :: Item 4 :: :: Item 1b :: :: Item 2b :: :: Item 3b :: :: Item 4b ::

_________|________Área visível_________|

 

 

Já qd o menu rolar para direita, faremos 1b ocupar o lugar de 1, assim:

 

:: Item 1 :: :: Item 2 :: :: Item 3 :: :: Item 4 :: :: Item 1b :: :: Item 2b :: :: Item 3b :: :: Item 4b ::

____________________________________|__________Área visível___________|

 

 

Deu pra entender?! :blink: :wacko: rsrsrs...

Bem, vamos ao código para tal...

 

//Posição em q o 'item 1' será substituido pelo 'item 1b'_root.valorA = 43;//Posição em q o 'item 4b' será substituido pelo 'item 4'_root.valorB = -1079;//Posição em q o 'item 1b' ficará para substituir o 'item 1'_root.novoVA = -733;//Posição em q o 'item 4' ficará para substituir o 'item 4b'_root.novoVB = -304;onEnterFrame = function(){	//Qd o mouse estiver na área destinada ao 'menuu'	if (_root._xmouse > _root.area._x && _root._xmouse < (_root.area._x + _root.area._width) && _root._ymouse > _root.area._y && _root._ymouse < (_root.area._y + _root.area._height)) {		//faz o 'menuu' rolar		_root.menuu._x -= ((_root._xmouse - ((_root.area._width/2) + _root.area._x))/10);	}	//reposiciona o menuu qd seu valor X for maior q o valorA	if (_root.menuu._x > _root.valorA) {		_root.menuu._x = _root.novoVA;	}	//reposiciona o menuu qd seu valor X for menor q o valorA	if (_root.menuu._x < _root.valorB) {		_root.menuu._x = _root.novoVB;	}}
*Lembrando q os valores utilizados variam. Estes foram os q usei no exemplo q fiz aqui no meu pc!

 

Bem... acho q, FINELMENTE, eh isso ae! rsrsrs

Po... depois de me embolar um pokim akew, axo q consegui explicar td...

Moderadores.. a galera tem mts duvidas nesse loop... axo q jah explikei isso umas 2 ou 3 vezes por akew!! :P

Se tiver td certim, acho valido pendurar lah cima, como fixo! ;)

 

 

Abraços ae!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

arthur presser, qqr coisa posta ae cara!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.