Ir para conteúdo

POWERED BY:

Arquivado

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

Lecão2

Rebobinar(retroceder) animação no flash

Recommended Posts

Olá pessoal!
Tenho duas animações quadro-a-quadro actionscript 2.0. do Flash. Preciso de script para botões onde:
A primeira animação rode sem parar e que esta tenha botão para retroceder(rebobinar) e continuar rodando de trás para frente até que o usuário decida apertar outro botão para ir para o estado normal(rodando constantemente) desta animação ou para ir para a segunda animação (e que esta tenha o mesmo funcionamento da primeira).
Vou utilizar 4 botões (ou mais se eu colocar mais animações) no blog. E a medida que for clicando a animação avance ou retroceda alguns quadros.
Já fiz várias tentativas mas não sou bom nesses scripts(marinheiro de primeira viagem) e o que consegui fazer foi copiar os quadros e reverter o sentido da animação com botões play mas para de executar no final.
Retorno ansioso.
Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pesquise por ENTER_FRAME (em AS2). Google, YouTube, pesquisa do fórum, acesso a outros tópicos com o mesmo assunto, etc.

 

Há propriedades >> next frame, prev frame, current frame, adequadas ao que precisa.

 

 

Teste algo, poste o código e informe possíveis mensagens de erro. Uso AS3, mas facilita para que outros colegas possam tentar auxiliar. Prontinho, tem não.

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei se entendi muito bem o que você quer fazer, mas você pode incluir um "gotoandPlay(1)" para rebobinar pro quadro inicial, onde 1 é o número do quadro/frame...

Se quiser que ele apenas rebobine em momentos específicos, você pode criar uma variável de controle, do tipo:

No botão, ao clicar:

on (release) { rebobinar = true }

no fim da animação, último frame:

if (rebobinar) {

gotoAndPlay(1) }

else {

stop(); }

 

Mas não sei se é isso que você quer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos. Vou testar sua dica . Será que ,no lugar desse "stop" poderia colocar um "play" ou "gotoAndplay(frame)" para a animação continuar rodando no sentido normal sem parar até que o usuário clique em outro botão para rodar outra animação no lugar dessa?

É como um efeito "ioio". clico uma vez, roda normal, dou dois cliques ou mais nesse mesmo botão, de forma rápida, a animaçao pula de 5 em 5 frames.

Obrigado pela atenção Evandro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!Coloquei isso no meu botão rebobinar .Ele rebobina quadro a quadro mas ele para. Queria que ele continuasse a rodar para trás constantemente e só voltar quando apertar o play ou outro botão.

Botão rebobinar:

 

on (release) {
onEnterFrame=function(){
this.prevFrame();
}
}

 

No botão play coloquei:

on (release) {
onEnterFrame=function(){
this.play();

}
}

 

E em uma camada coloquei a action no primeiro quadro para os botões avançar 3 quadros e botão retroceder 3 quadros, como mostra abaixo. O mc é vazio:

 

Parafrente_bt.onPress=function (){
_root.createEmptyMovieClip("controle_mc",1);
controle_mc.onEnterFrame=function(){
_root.gotoAndPlay(_root._currentframe+3);
if (_root._currentframe+3 > _root._totalframes){
_root.gotoAndPlay(_root._totalframes);
}
}
}
Parafrente_bt.onRelease=function (){
controle_mc.removeMovieClip();
}
Parafrente_bt.onReleaseOutside=function (){
controle_mc.removeMovieClip();
}
Paratras_bt.onPress=function (){
_root.createEmptyMovieClip("controller_mc",1);
controle_mc.onEnterFrame=function(){
_root.gotoAndPlay(_root._currentframe-3);
if (_root._currentframe-3){
_root.gotoAndPlay(_root._currentframe-3);
}
}
}
Paratras_bt.onRelease=function (){
controle_mc.removeMovieClip();
}
Paratras_bt.onReleaseOutside=function (){
controle_mc.removeMovieClip();
}

 

 

Lembrando que só posso fazer pelo AS2. Minha animaçã é quadro-a-quadro

 

Até logo!

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.