Ciao Ragazzi,
sto cercando di fare uno slideshow utilizzando le proprietà di mx.transitions.Tween. In particolare vorrei funzionasse così: carico i dati da un file XML e faccio il parsing, creo dinamicamente i miei contanier e applico alle foto in entrata un effetto di movimento tramite:
codice:
mx.transitions.easing.Regular.easeOut
accompagnato da un effetto di sfocatura (blur):
codice:
new flash.filters.BlurFilter
fino a qui ci sono ma quando entra la foto successiva, però, vorrei fare in modo che quella precedente non venga semplicemente "coperta" ma scompaia con i medesimi effetti di entrata, prima che l'altra arrivi al suo posto. Io ho scritto:
codice:
function createLoader(i,data,num) {
    //richiamo la funzione x farlo andare via
    basedata=data
    //trace("data"+data[num].path)
    ritorna()
    thisLoader=eval("container_mc.loader"+i+"_mc");
    thisLoader._alpha=100;
    thisLoader.loadMovie(data[num].path);
    watcher_mc.onEnterFrame=function () {
        var picLoaded = thisLoader.getBytesLoaded();
        var picBytes = thisLoader.getBytesTotal();
        if (isNaN(picBytes) || picBytes < 4) {
            return;
        }
        if (picLoaded / picBytes >= 1) {
            swapPlace("container_mc.loader2_mc",1);
			starter = - container_mc._x;
			playerXT = new mx.transitions.Tween(thisLoader, "_x", mx.transitions.easing.Regular.easeOut, starter, 149 - container_mc._x, 1, true);
            playerBT = new mx.transitions.Tween(thisLoader, "blur", mx.transitions.easing.Regular.easeOut, 80, 0, 1, true);
			playerBT.onMotionChanged = function ()
			{
                thisLoader.filters = [new flash.filters.BlurFilter(thisLoader.blur, 0, 1)];
            };
			timerInterval = setInterval(imageGen,_global.numPause,data);
            delete this.onEnterFrame;
			var oldfoto_mc = Root.containermc.fotosmc["container_mc.loader" + i - 2) + "_mc"];
            oldfotoXT = new mx.transitions.Tween(oldfoto_mc, "_x", mx.transitions.easing.Regular.easeOut, starter, 149 - container_mc._x, 1, true);
            oldfotoBT = new mx.transitions.Tween(oldfoto_mc, "blur", mx.transitions.easing.Regular.easeOut, oldfoto_mc.blur, 20, 1, true);
            oldfotoBT.onMotionChanged = function ()
            {
                oldfoto_mc.filters = [new flash.filters.BlurFilter(oldfoto_mc.blur, 0, 1)];
            };
            oldfotoBT.onMotionFinished = function ()
            {
                oldfoto_mc.removeMovieClip();
            };
            scendi()
        }
    }
}
Logicamente non funziona e mi rendo conto che, essendo abbastanza inesperto in AS, il codice potrebbe essere una mezza papocchia in più di qualche punto ma se qualcuno più esperto di me riesce a darmi una dritta ve ne sarei grato davvero.

Un grazie anticipato a tutti.