Ir para conteúdo

POWERED BY:

Arquivado

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

GMuchacho

Posicionamento do mouse. -

Recommended Posts

Olá pessoal preciso de uma ajuda.

Seguinte, criei um MC que ele deve rodar sempre que o mouse estiver sobre ele, só que preciso que a velocidade de rotação dele (dos frames do MC) aumente a cada momento quando o mouse ficar sobre ele, eu tentei da seguinte maneira:

 

on (rollOver) {

function fcn() {

_currentframe<_totalframes ? nextFrame() : gotoAndStop(1)

}

setInterval(fcn, 30)

 

}

 

Só que ai a velocidade só aumenta de 30 em 30 quando eu tiro e coloco o mouse por causa do rollOver (só no momento do rollOver), eu preciso que ele aumente sempre que o mouse estiver em cima, não apenas quando o mouse entrar (rollOver).

Tentei definir assim:

 

on (rollOver) {

Mouse.hide();

x = 208.9; // -- posição do meu MC

y = 240.0; // -- posição do meu MC

function fcn() {

_currentframe<_totalframes ? nextFrame() : gotoAndStop(1)

}

setInterval(fcn, 30)

 

}

 

Mas não funcionou.

 

E meu outro problema é que quando o mouse sair de cima do objeto a velocidade da animação deve diminuir até zerar e o rollOut não funcionou tb.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa forma não vai functionar porque você não está alterando o valor dos segundos, você precisa fazer um loop na função que durante o rollover ele vai aumentando a velocidade e no rollout ele para com tudo, vou por um exemplo aqui sem testar e você veja ai se te ajuda:

 

on (rollOver) {

tempo = 1000;

teste = true;

Mouse.hide();

x = 208.9; // -- posição do meu MC

y = 240.0; // -- posição do meu MC

 

_global.intervalo = setInterval(fcn, tempo);

 

}

 

on (rollOver) {

teste = false;

}

 

function fcn() {

_currentframe<_totalframes ? nextFrame() : gotoAndStop(1);

if(teste){

tempo -= 10;

clearInterval(_global.intervalo);

_global.intervalo = setInterval(fcn, tempo);

} else {

tempo = 1000;

clearInterval(_global.intervalo);

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, a função não esta funcionando o erro que dá é este:

 

Statement must appear within on/onClipEvent handler

 

Não sei qual coloco para funcionar. Pois quando coloco "on" (function fcn(on) )ou "onClipEvent" (function fcn(onClipEvent) ) da Syntax Error e

 

Obrigado

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, você colocou a action de rollover e rollout no frame, porisso está dando esse erro, faça assim, coloque essas actions no botão (actions button)

 

on (rollOver) {

tempo = 1000;

teste = true;

Mouse.hide();

x = 208.9;// -- posição do meu MC

y = 240.0;// -- posição do meu MC

 

_global.intervalo = setInterval(fcn, tempo);

 

}

 

on (rollOut) {

teste = false;

}

 

Essa no frame e veja o trace:

 

function fcn() {

_currentframe<_totalframes ? nextFrame() : gotoAndStop(1);

if(teste){

tempo -= 10;

trace(tempo);

clearInterval(_global.intervalo);

_global.intervalo = setInterval(fcn, tempo);

} else {

tempo = 1000;

clearInterval(_global.intervalo);

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá quase!

 

Esta dando certo, no começo a animação esta normal, quando eu passo o mouse nele e tiro ela para (de uma vez, mas isso acredito que é só mudar a velocidade).

 

Esta acontecendo o seguinte:

- Ele só se move uma vez quando coloco o mouse, não volta a animação, ele se move e para, se move e para. E depois aparece a mensagem de erro: "990"

- O cursor do mouse some.

 

Obrigado

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.