Post tageado como voltar

Função de Voltar com Prototype (Animação Reversa)

Alow galera.

Quem nunca teve aquela necessidade de voltar uma animação de um MovieClip via Actionscript, sem precisar de refazer a animação, seja de um botão ou até mesmo de um movimento complexo. Para isso, coloque o seguinte código no primeiro frame do seu flash (ou crie um arquivo .as para ser compartilhado e inclua-o):

MovieClip.prototype.voltar = function(frame, qFrm) {
//cria o movieClp de controle
var voltarControl = this.createEmptyMovieClip(“voltarControl”, this.getNextHighestDepth());
//averigua se a veriável frame é indefinida, e seta como frame 1
if (frame == undefined) {
frame = 1;
}
//se a qFrm não for definida, pula de 1 em 1
if (pStop == undefined) {
voltarControl.onEnterFrame = function() {
if (this._parent._currentframe != frame) {
this._parent.prevFrame();
} else {
delete this.onEnterFrame;
}
};
} else {
//se a qFrm for definida, pula na qtd informada
voltarControl.onEnterFrame = function() {
if (this._parent._currentframe>frame) {
this._parent.gotoAndStop(this._parent._currentframe-qFrm);
//vendo o restante
if (this._parent._currentframe<=qFrm) {
qFrm = this._parent._currentframe-1;
}
} else {
delete this.onEnterFrame;
}
};
}
};

A sintaxe da função é meuMc.voltar(frame,qFrm);
frame > Até qual frame você que que volte a animação, se não informado, volta até o 0;
qFrm > Informa de quantos em quantos frames a animação deve voltar, se não informado, o valor padrão é 1. Caso seja informado 3, por exemplo, a animação volta de 3 em 3 frames, sendo mais rápida.

Para interromper este prototype, caso necessário, é só deletar o onEnterFrame que fica no voltarControl, desta maneira:

delete meuMc.voltarControl.onEnterFrame;

É isso aí galera. Espero que ajude.
Baixe os arquivos aqui.

, , ,

5 Comentários