Hola, esoty muy liado con este tema, el problema que tengo es que en una animación he metido un código buscado en la web para crear un mosaico a partir de una imagen, bueno, hasta ahí todo ok, pero el problema viene cuando una vez finalizado este código quiero que continue la animación a continuación, he probado de todo lo que se me ocurre pero lo maximo que consigo es que se ejecute a la vez, esto es: mientras se ejecuta el código del fotograma donde genera el mosaico tb se ejecuta el código de la linea de tiempo principal y eso no es lo que quiero, puesto que cuando acaba el mosaico tb acaba la linea de tiempo principal, el código es este:
//paro la linea de tiempo principal y reproduzco este código, que son una
//serie de mosaicos cuadrados, que recortan una imagen cargada
//que después caen hasta desaparecer del documento
stop();
//importo bibliotecas necesarias
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.event.*;
//variables necesarias
var bmpImage:BitmapData;
var thumb_image:BitmapData;
var i:Number;
var j:Number;
var imgWidth:Number;
var imgHeight:Number;
var thumbSize:Number;
var nivelactual:Number;
//inicializo las variables
bmpImage = BitmapData.loadBitmap("Pattern");//cargo la imagen bmp
imgWidth = bmpImage.width;//me quedo con el ancho
imgHeight = bmpImage.height;//y el alto de dicha imagen
thumbSize = 144;
blurIntense = 10;
nivelactual = 0;//nivel de apilamiento
//empieza a crear cuadros mosaicos
for(j=0; j<imgHeight; j+=thumbSize)
{
for(i=0; i<imgWidth; i+=thumbSize)
{
thumb_image = new BitmapData(thumbSize, thumbSize, true);
thumb_image.copyPixels(bmpImage, new Rectangle(i, j, i+thumbSize, j+thumbSize), new Point(0, 0));
thumb_image.applyFilter(thumb_image, thumb_image.rectangle, new Point(0,0),new BevelFilter(2, 45, 0xFFFFFF, .2, 0x000000, .2, blurIntense, blurIntense, 1, 3, "inner"));
nueClip = createEmptyMovieClip("imgsoporte" + nivelactual + "_mc" , nivelactual);
nueClip._x = i;
nueClip._y = j;
nueClip.attachBitmap(thumb_image, 0);//adjto la miniatura
rompelo(nueClip, nivelactual);
nivelactual++;
}//fin segundo for
}//fin primer for
function rompelo(target:MovieClip)//esta función coge un cuadro y lo rompe
{
target.got = function()
{
dissolve(this);
}
target.downIt = downIt;
//si supero el espacio de documento
if( this._y > Stage.height and this._x > Stage.width ){
clearInterval(this.interDown);//dejo de crear instancias, desaparece
}
target.inter = setInterval(target,"got", nivelactual * 144);
}
function dissolve(target:MovieClip)
{
target._xscale = 110;
target._yscale = 110;
target.swapDepths(getNextHighestDepth());//intercambia el nivel de apilamiento
target.interDown = setInterval(target, "downIt", 10);
}
function downIt()
{
this._xscale += 5;
this._yscale += 5;
this._y += 10;
this._x += 7;
this._alpha -= 2;
this._rotation += 6;
clearInterval(target.inter);
}
Nota: Lo que me gustaría hacer a continuación es que siguiera la ejecución en el siguiente frame pero en la linea de tiempo principal donde la dejé parada al comienzo de la ejecución de este código, cuando terminara la reproducción del último clip de pelicula que genero con el mosaico
Me gustaría saber si se puede crear un manejador de eventos para un objeto MovieClip, usando addEventListener y así poder capturar el evento onUnload del último clip de pelicula generado, si es que se llega a descargar,claro
Lo máximo que consigo es que en un momento dado puedo quedarme con el nombre del último clip de pelicual generado que en mi caso al se el documento de 720 x 576 es el clip 19 pero no se que puedo hacer con esto...
Alguien se ha encontrado alguna situación similar...