Ir para conteúdo

POWERED BY:

Arquivado

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

plizot

[Resolvido] executar ação mouse depois 2 segundos (rollover)

Recommended Posts

Postei essa mesma dúvida em outro fórum, porém não obtive respostas, então recorro ao iMastes, espero que alguém possa me ajudar! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Tenho um menu no rodapé da página que fica escondido e sobe quando o mouse passa sobre ele, porém eu preciso que ele suba somente se o cursor ficar 2 segundos sobre o menu, para que com qualquer "passadinha" de mouse o menu nao fique subindo e descendo.

 

Estava usando esse código:

 

on (rollOver) {
a = setInterval(b, 2000);
function b() {
gotoAndPlay(2);
clearInterval(a);
}
}

 

Porém o que acontece é que o on rollOver vai executar esse código toda vez que passar o mouse em cima do menu, ou seja se eu passo uma vez só tranquilo, mas se eu pegar o mouse e ficar passando o menu vai ficar subindo várias vezes seguidas...

 

Acredito que o que é necessário para o funcionamento é que o rollover seja ativado depois dos 2 segundos, para que então o menu suba, e não o menu subir dois segundos depois do rollover que é oq está acontecendo... Não sei como fazer isso, se alguém puder me ajudar, fico grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque um hitTest se o mouse ficar em cima faz a ação...

 

Se não não faz...

 

Abraços

Opa, tudo bem? Vlw pela resposta...!

 

Eu até já havia pensando em fazer alguma coisa com o hitTest, porém fique na dúvida.

Onde eu colocaria ele, tipo, tentei criar um mc invisivel que recebia as cordenadas (xmouse e ymouse)

e quando ele estivesse sobre o menu executasse a ação (dos dois segundos), mas não funcionou...

Olhei no flash help mas não consegui entender muito bem a sintaxe do hiTest, pq pelo que eu entendi, ele testa se um objeto está sobre o outro. Existe a possibilidade de testar se o cursor do mouse esta sobre determinado objeto?

 

Mais uma vez, obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim é possivel

 

Usando:

if(hitTest(_xmouse, _ymouse, true);

 

Abraços

opa... mas como eu seto qual objeto que ele ta testando se o mouse tah em cima?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui a resposta, vou postar se alguém quiser:

 

 

var botao:MovieClip = _root.mybutton; //botao utilizado no exemplo
var TmpAbertura:Number = 2000; //Milissegundos
var meuTimeout; //timeout declarado :)

botao.onRollOver = function(){
	meuTimeout = setTimeout(abreMenu,TmpAbertura);
	}
	
	
botao.onRollOut = function(){
	clearInterval(meuTimeout);
	}

function abreMenu(){
		gotoAndPlay(2);
	}

Só pra dar os créditos, consegui a resposta no fórum do script brasil.

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.