devo realizzare una head in flash di un sito, questa head deve caricare degli swf esterni consecutivamente e casualmente; cioè non appena finisce l'esecuzione di un swf ne deve far caricare un altro dei miei 20 scegliendolo in modo casuale, se è possibile una piccola transazione tra un immagine all'altra

ho provato questo codice ma mi cambia l'immagine ad ogni aggiornamento della pagina.

codice:
//impostiamo la larghezza e l'altezza delle immagini
var altezza:Number = 450;
var larghezza:Number = 600;

//definiamo URLLoader per caricare il file XML e il Loader per le immagini.
//NB: URLLoader  è "eseguito" quando il costruttore viene chiamato
var xmlLoad:URLLoader = new URLLoader( new URLRequest("ListaImagini.xml") );
var imgLoad:Loader = new Loader();
//e alla fine diciamo a Flash di eseguire la funzione "caricaLista"  quando URLLoader ha completato il suo caricamento del file xml,
xmlLoad.addEventListener(Event.COMPLETE, caricaLista);

/*
Nella funzione "caricaLista" otteniamo i dati dall'oggetto URLLoader
e avendo nel file xml diversi tag "contenuto" comunichiamo alla var "stImage" di caricare una random.
Dato che "imgLoad" è un oggetto Loader dobbiamo chiamare il metodo load per caricare l'immagine.
L'ultima riga rimuove il listener di evento associato all'evento "caricaLista".
*/

function caricaLista(evt:Event):void {
  	var xmlData:XML = XML(xmlLoad.data);
  	var numImmagini:Number = xmlData.contenuto.length();
  	var stImage:String = xmlData.contenuto[Math.floor(numImmagini*Math.random())].toString();
	imgLoad.contentLoaderInfo.addEventListener(Event.COMPLETE, caricaImmagini);
	imgLoad.load( new URLRequest(stImage) );
	xmlLoad.removeEventListener(Event.COMPLETE, caricaLista);
}

/*
La funzione "caricaImmagini" inserisce il contenuto del "imgLoad" come un oggetto Bitmap
in modo che possiamo scalarlo prima di aggiungerlo nello stage.
Si noti che usiamo scaleX e scaleY per ridimensionare l'immagine dalle variabili altezza e larghezza,
indipendentemente dalle sue proporzioni originali.
Alla fine aggancio un listener che verifica il fine caricamente è richiama una funzione.
*/

function caricaImmagini(evt:Event):void {
	var thisBmp:Bitmap = Bitmap(imgLoad.content);
	thisBmp.x = 0;
	thisBmp.y = 0;
	var thisWidth:Number = thisBmp.width;
	var thisHeight:Number = thisBmp.height;
	
	thisBmp.scaleX = larghezza/thisWidth;
	thisBmp.scaleY = altezza/thisHeight;
	addChild(thisBmp);
	
	imgLoad.contentLoaderInfo.removeEventListener(Event.COMPLETE, caricaImmagini);
}