Post tageado como voltar
Função de Voltar com Prototype (Animação Reversa)
Postado por Weverton Naves em ActionScript. 13/Fevereiro/2008.
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.








