Xml(repito las imagenes por no reescalar otras...)
Código PHP:
<?xml version="1.0" encoding="utf-8"?>
<listado>
<imagenes>
<imagen>imagen_asoaciada1.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada2.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada3.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada4.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada1.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada2.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada3.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada4.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada1.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada2.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada3.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada4.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada2.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada3.jpg</imagen>
</imagenes>
<imagenes>
<imagen>imagen_asoaciada4.jpg</imagen>
</imagenes>
</listado>
Código PHP:
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.*;
import flash.net.URLRequest;
var ocultarHastaCargarTodas:Boolean = new Boolean(true)
var contenedorImagenes:Sprite = new Sprite();
contenedorImagenes.visible=ocultarHastaCargarTodas;
contenedorImagenes.x=0;
contenedorImagenes.y=0;
addChild(contenedorImagenes);
var miXML:XML = new XML();
var XML_URL:String = "imagenes.xml";
var miXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(miXMLURL);
myLoader.addEventListener("complete", xmlLoaded);
var imagenActual:Number = 0;
var imagenTotal:Number = 0;
var ancho:Number = 165;
var alto:Number = 145;
var inicioX:Number = 0;
var inicioY:Number = 0;
var ImagenesPorFila:Number =5;
function xmlLoaded(event:Event):void
{
miXML = XML(myLoader.data);
imagenTotal=miXML.descendants("imagenes").length();
cargador();
}
function cargador()
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
var request:URLRequest = new URLRequest(miXML.imagenes[imagenActual].imagen);
loader.load(request);
loader.x=inicioX+ancho*(imagenActual%ImagenesPorFila);
loader.y=inicioY+alto*Math.floor(imagenActual/ImagenesPorFila);
contenedorImagenes.addChildAt(loader,imagenActual);
}
function completeHandler(event:Event):void
{
imagenActual++;
if(imagenActual<imagenTotal)
{
cargador();
}
else
{
contenedorImagenes.visible=true;
var loader:Loader = new Loader();
loader.unload();
}
}
Ponemos todas las clases a utilizar
Definimos un nuevo Sprite contenedorImagenes en 0,0.
Definimos ancho, alto, inicioX, inicioY, ImagenesPorFila, el objeto xml y la url a cargar, y también imagen actual que ponemos a 0.
A la carga del xml registramos el total de imágenes de nuestro xml en imagenTotal y llamamos por primera vez a cargador.
Cargador recibe que tiene que cargar la imagen actual(0), la carga con addChildAtt en el índice 'imagenActual'(para ir cargando cada una en un índice distinto) de contenedorImagenes.
Y el evento de complete del cargador incrementa imagenActual y vuelve a llamar a cargador si la imagen actual es menor que imagenTotal.
De momento no me aclaro mucho con actionscript 3.0, pero creo qué más o menos es asi