Ir para conteúdo

POWERED BY:

Arquivado

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

jnejunior

onmouseover uma vez só

Recommended Posts

tenho uma animação, e quando passo o mouse nela executa uma animação, mas essa animação se repete varias vezes enquanto o mouse fica sobre o filme, e gostaria que enquanto o mouse fique emcima do filme parado ou movimentando-se, execute a animação uma vez, só quando passar o mouse uma vez sobre o "filme"...

 

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque um stop na animação quando ela chegar ao fim ;)

 

Ou coloque no ultimo frame um gotoAndStop(1);

 

Assim ele volta para o primeiro frame e para.

 

abraços

 

 

bersek, quando usei stop(); no ultimo frame ele só executou uma vez a animação, e depois não executou mais, mesmo que tirasse o mouse de cima do filme e passasse de novo...

 

quando usei o gotoAndStop(1); ele persistiu no meu mesmo problema, repetia varias vezes...

 

e agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom como não sei o que você fez eu vou chutar ok? (Eu acho que sou bom de chute rs... as vezes acerto no angulo)

 

Bom você tem um botão que contem uma animação

 

Então vamos lá

Ai você criou o botão e pans

 

1 frame a cara do botão, do frame 2 ao frame 15 a animação e no frame 16 ele volta para o primeiro frame.

 

Ok completei a animação.

 

Se eu não colocar nenhum tipo de stop nenhum código... e como isso é um MC

Ao eu dar ctrl + enter

Ele vai ficar em loop infinito fazendo minha animação.

 

Correto??

 

Sim correto.

 

Ai então quero que só no evento de mouseOver ele faça a animação.

 

Então o que eu faço?

Instancio o objeto. (clicando sobre ele, apertando ctrl + f3 {se não me engano} abro a parte de propriedades e ali vou no campo, instance name e dou o nome para ele... no caso bt_anima)

 

Após feito isso

Eu entro no objeto(botao), clicando sobre o mesmo duas vezes.

Clico sobre o primeiro frame e abro o AS (f9)

E coloco stop();

 

OK greaT!!! agora se eu der ctrl+enter ele não vai fazer nada... vai ficar la parado estático. Hmmm, mas não era isso que eu queria... eu queria que quando colocar o mouse sobre ele ele vá para a animação. ok!!!

Então vamos fazer isso.

 

Volto para a timeline principal

Clico sobre o primeiro frame e coloco o código em uma camada separada para AS de preferencia...

bt_anima.onMouseOver = function(){
 bt_anima.gotoAndPlay(2); // ou this.gotoAndPlay(2);
}

OK!!! agora o que eu fiz?

 

Como eu instanciei o objeto de bt_anima, eu posso colocar ações nele... não, não é clicando sobre o objeto e colocando um código com on(press da vida)... isso tbm funciona... mas é uma maneira não muito correta de se fazer.

 

Como eu instanciei o objeto eu acessei ele com o onMouseOver dizendo que essa propriedade = a uma função... que vai fazer o que eu quero.

Porque dei 2 opções ali???

 

Pq o bt_anima.gotoAndPlay você vai estar dizendo para só o bt_anima fazer isso... ou outro clip qualquer... bastava colocar ali na frente

E se você fizer o this.gotoAndPlay você vai estar fazendo a mesma coisa, afinal você vai estar dentro do objeto executando uma função... quando o mouse estiver em cima dele.

This tem o mesmo significado que este... traduzindo do inglês.

 

Bom e ai acho q meu botão ta funcionando e fazendo a animação agora todas as vezes que eu passar o mouse sobre ele... apenas 1 vez.

E pronto ta resolvido seu problema

 

Creio eu...

 

Abraços e bons estudos!

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.