Con esta función podemos dar marcha atrás a nuestras animaciones. Por ejemplo, si tenemos una página, en el que se vayan montando los contenidos mediante animación y queremos que al pulsar un botón se desmonten los contenidos para desaparecer e irse a otra página.
Código :
// Función para reproducir un movieclip marcha atras
function marcha_atras_antes_Principal(_movieclip:MovieClip, fin:Boolean)
{
//si el movieclip solo tiene un fotograma no se puede hacer retroceder
if (_movieclip._totalframes > 1) {
//se programa el evento on enter frame
_movieclip.onEnterFrame = function()
{
mc_Entrar._visible = false;
//hacemos un trace para poder visualizar la ejecución de la función.
trace("fotograma actual: " + _movieclip._currentframe);
if (_movieclip._currentframe <= 1) {
//anulamos la función que estaba sociada al evento asociando al evento el valor nulo.
//si no hicieramos esto la funcion seguiria ejecutandose lo que perjudicaria
//el rendimiento de la aplicación.
_movieclip.onEnterFrame = null;
if (fin == true) {
loadMovie("contenido_AF.swf", mcContenido.mcContenedor);
}
}
//retrocedemos un fotograma en la linea de tiempo.*
this.prevFrame();
};
}
}
Código :
onEnterFrame = (_currentframe > 0) ? prevFrame : null;
Código :
class com.zigma.movieclip.clipUtils extends MovieClip
{
/**
* Lleva al MovieClip a determinado frame pasando por los frames intermedios
*
* @param frame Numero del frame al que se desea llegar
* @param vel Numero que representa la velocidad de la transicion
*
* uso:
* {@code
MovieClip.playtoFrame(50,2);
* }
*/
function playtoFrame (frame:Number, vel:Number){
vel == undefined ? vel = 1 : vel = vel;
if (this._currentframe < frame){
var velocidad = vel;
var direccion = "adelante";
var condicion = this._currentframe >= frame;
} else {
var velocidad = -vel;
var direccion = "atras";
var condicion = this._currentframe <= frame;
}
this.onEnterFrame = function (){
this.gotoAndStop (this._currentframe velocidad);
if (condicion){
this.stop ();
this.gotoAndStop (frame);
trace (" ya llegue al " frame " !");
delete this.onEnterFrame;
}
};
}
}
chango_blog :