// ---------------------------------------------------------------------------------------- // Crea una transicion de cuadros sobre un movieclip dado // // Parametros: // mcContenedorFoto = movieclip contenedor foto a transicionar // Este clip debera contener otro a su vez llamado foto_mc // En esta funcion se crea otro clip "mascara" de transicion // tf = total de filas para cuadros // tc = total columnas para cuadros // tiempo_cuadro = tiempo de espera entre cada cuadro (retardo) // peso_decel = numero float que cambia la velocidad de animacion de un cuadro, // Tiene que ser >0 y <1. Ej: 0.1, 0.2, 0.3, 0.7, etc ... // _callback_ = funcion callback de llamada cuando finalice la transicion completa // ---------------------------------------------------------------------------------------- _global.transicionCuadros = function(mcContenedorFoto, tf, tc, tiempo_cuadro, peso_decel, _callback_) { mcContenedorFoto.img = mcContenedorFoto.foto_mc; mcContenedorFoto.mask_mc = mcContenedorFoto.createEmptyMovieClip("mask_anim_mc",2); mcContenedorFoto.mcMascara = mask_mc; mcContenedorFoto.tf = tf; mcContenedorFoto.tc = tc; mcContenedorFoto.tiempo_cuadro = tiempo_cuadro; mcContenedorFoto.peso_decel = peso_decel; mcContenedorFoto.callback = _callback_; // Inicializa variables mascaras mcContenedorFoto.total_mascaras = mcContenedorFoto.tf*mcContenedorFoto.tc; mcContenedorFoto.img_w = mcContenedorFoto.img._width; mcContenedorFoto.img_h = mcContenedorFoto.img._height; mcContenedorFoto.mask_cuadro_w = Math.ceil(mcContenedorFoto.img_w / mcContenedorFoto.tc); mcContenedorFoto.mask_cuadro_h = Math.ceil(mcContenedorFoto.img_h / mcContenedorFoto.tf); mcContenedorFoto.xRel = mcContenedorFoto.mask_cuadro_w / 2; mcContenedorFoto.yRel = mcContenedorFoto.mask_cuadro_h / 2; // Crea el array original con numeros de mascara para generar aleatorios ... mcContenedorFoto.array_original = new Array(); for (var i=0;i .5) { this.w += (mcContenedorFoto.mask_cuadro_w - this.w) * mcContenedorFoto.peso_decel; this.h += (mcContenedorFoto.mask_cuadro_h - this.h) * mcContenedorFoto.peso_decel; this._width = this.w; this._height = this.h; } else { this.w = mcContenedorFoto.mask_cuadro_w; this.h = mcContenedorFoto.mask_cuadro_h; this._width = this.w; this._height = this.h; delete this.onEnterFrame; //trace("mc: " + this + ", nombre:" + this._name + "_"); // Si es la ultima mascara ... if (this == mcContenedorFoto.ultima_mask) { //trace ("fin1"); mcContenedorFoto.mask_mc.removeMovieClip(); mcContenedorFoto.img.setMask(null); // Cuando termina la transicion completa ... clearInterval(mcContenedorFoto.intervalo); // Llamada a la funcion callback mcContenedorFoto.callback.call(null, mcContenedorFoto); } } } }