El XML generado es previsible, pero no de tamaño estable.
Se pretende una galeria en la que:
>> Con PHP, me meto en un directorio (decidido por flashvar) y leo todos los archivos con extension JPG presentes en el mismo.
>> Hecha la lectura, genero un XML con esta estructura : dos ejemplos para que se entienda el problema.
<galeria>
<nombre>lila</nombre>
<foto1>lila-1.jpg</foto1>
<foto2>lila-2.jpg</foto2>
<foto3>lila-3.jpg</foto3>
<numerofotos>3</numerofotos>
</galeria>
_________________________________
<galeria>
<nombre>entorno</nombre>
<foto1>entorno-01.jpg</foto1>
<foto2>entorno-02.jpg</foto2>
<foto3>entorno-03.jpg</foto3>
<foto4>entorno-04.jpg</foto4>
<foto5>entorno-05.jpg</foto5>
<foto6>entorno-06.jpg</foto6>
<foto7>entorno-07.jpg</foto7>
<foto8>entorno-08.jpg</foto8>
<foto9>entorno-09.jpg</foto9>
<foto10>entorno-10.jpg</foto10>
<foto11>entorno-11.jpg</foto11>
<foto12>entorno-12.jpg</foto12>
<numerofotos>12</numerofotos>
</galeria>
Hasta aquí bien........
El AS debe recoger este XML, en el que el primer elemento es el nombre de la galeria y el ultimo el numero de fotos. En medio: la bateria de fotos a presentar.
Tomar el primer y ultimo nodo es facil.
Lo del medio, parece que un for entre el 0+1 y el ultimo-1 es lo adecuado.
Dentro del for, recorremos y almacenamos las variables.
FALLO AL ALMACENAR
Adjunto el AS que tengo:
Código ActionScript :
var galeria:XML = new XML(); galeria.ignoreWhite = true; galeria.onLoad = function(exito) { if (exito) { galeriax=this.firstChild.childNodes; var totalnumero = galeriax.length; //var numerofotos = totalnumero -2; //numero de fotos a reproducir if (totalnumero == 0){seccion = "La galeria no existe";} seccion = galeria.firstChild.childNodes[0].firstChild.nodeValue; numero = galeria.firstChild.childNodes[totalnumero - 1].firstChild.nodeValue; // ahora sabemos que las fotos van desde [1] a [totalnumero-2], incluidos for (var i=1;i<totalnumero-1;i++){ //todas menos primera y ultima var foto:Array = new Array(); foto = galeria.firstChild.childNodes[i].firstChild.nodeValue; trace(foto); //SpriteFoto.loadMovie("casarural/fotos/"+reportaje+"/"+foto); //dummy para ver que cargan } } else { seccion = "Error al cargar galeria"; } } galeria.load("casarural/plan/foto_xml.php?reportaje="+reportaje);
El script funciona en los terminos de que se recorren los Childs;
pero no se como hacer que se generen tantas variables foto.i dentro del FOR para luego generar un avance/retroceso desde eventos de botones.
Diablos, en PHP se hacerlo, pero AS me esta volviendo ya tonto de vueltas dadas.