..:: MX Studio Fóruns ::..: dúvidas com prevFrame, retroceder sempre 10 em 10 - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

dúvidas com prevFrame, retroceder sempre 10 em 10 dúvidas com prevFrame, retroceder sempre 10 em 10

#1 User is offline   Falaster 

  • Group: Membros
  • Posts: 1
  • Joined: 19-August 09

Posted 19 August 2009 - 10:29 AM

Bom Dia..
Estou com uma dúvida simples mas não encontro uma solução. Quero retroceder 10 frames. Exemplo: frame 110 para o frame 100 do 100 para o 90 e assim por diante..
Quero usar um botão simples. Como posso fazer isso?

Obrigado ai.


0

#2 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 19 August 2009 - 12:58 PM

blz?

Basicamente você resolve isso com condições if else e verifica por exemplo frame atual(currentFrame) e compara com a quantidade de frames total(totalFrames) e controla a timeline baseado nessas condições.

Ex. pra AS3:
1- No stage tem 2 MCs que serão os botões com nome de instâncias prevBtn(retroceder) e nextBtn(avançar),
2- No 1º frame da timeline principal insire o código:


AS3:
CÓDIGO
//paro a timeline pra não rodar animação.
stop();


//armazeno quantidade atual de frame dessa timeline
var frameAtual:int = MovieClip(root).currentFrame;
//quantidade total de frames dessa timeline
var frameTotal:int = MovieClip(root).totalFrames;
// total de frames que quero mudar a cada clique
var numFrames:uint = 10;
//minimo de frames existente, no minimo tem q ter 1 frame na timeline.
var minFrames:uint = 1;


//aplico eventos de clique nos botões, e dipara função
prevBtn.addEventListener(MouseEvent.CLICK, verificaFrames);
nextBtn.addEventListener(MouseEvent.CLICK, verificaFrames);


//quando um dos botões forem clicado dispara essa função
function verificaFrames(e:MouseEvent):void
{
    //se clicar o nextBtn, faça...
    if(e.currentTarget.name == "nextBtn")
    {
        if(frameAtual == minFrames)
        {
            frameAtual += numFrames - minFrames;
            gotoAndStop(frameAtual);
            trace("next ", frameAtual);
        }
        else if(frameAtual != minFrames)
        {
            if(frameAtual >= frameTotal)
            {
                frameAtual = frameTotal;
                gotoAndStop(frameAtual);
                trace("final");
            }
            else
            {
                frameAtual += numFrames;
                gotoAndStop(frameAtual);
                trace("next ", frameAtual);
            }
        }
    }
    //se clicar o prevBtn, faça...
    else if(e.currentTarget.name == "prevBtn")
    {
        if(frameAtual == minFrames)
        {
            frameAtual = minFrames;
            gotoAndStop(frameAtual);
            trace("começo");
        }
        else if(frameAtual !== minFrames)
        {
            frameAtual -= numFrames;
            gotoAndStop(frameAtual);
            trace("prev ", frameAtual);
        }
    }
}


Ex:
http://rapidshare.com/files/269148550/cont...es_as3.fla.html

Abraço.
0

#3 User is offline   RPM 

  • Group: Membros
  • Posts: 182
  • Joined: 08-May 07

Posted 23 August 2009 - 11:06 AM

aproveitando o topico, como usar esse exemplo com transiçoes para nao ficar tao "duro", tipo alpha ou mesmo com um tween...
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




2 User(s) are reading this topic
0 membro(s), 2 visitante(s) e 0 membros anônimo(s)