Intento rellenar el array con los datos que vienen de un fichero xml exactamente como sale en el codigo abajo, y me rellena correctamente (hago un trace que devolve los datos que espero).
Código :
var galleryXML:XML = new XML();
galleryXML.ignoreWhite = true;
galleryXML.load("photos.xml");
var photos:Array = new Array();
var i:Number;
galleryXML.onLoad = function(success) {
if(success){
totalFotos = galleryXML.firstChild.childNodes.length;
for(i = 0; i<totalFotos; ++i){
photos.push({anchura: galleryXML.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue,
altura: galleryXML.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue,
enlace: galleryXML.firstChild.childNodes[i].childNodes[2].firstChild.nodeValue
});
}
} else {
errorTextField.text = "Error: Fichero XML no se ha cargado";
}
trace("total"+photos.length);
for (i = 0; i < photos.length; ++i){
trace(photos[i].anchura);trace(photos[i].altura);trace(photos[i].enlace);
}
}
Pero luego fuera de la funcion cuando llamo a este array me sale vacio!.
Justo debajo de funciton hago el mismo bucle for con trace
Código :
trace("total"+photos.length);
for (i = 0; i < photos.length; ++i){
trace(photos[i].anchura);trace(photos[i].altura);trace(photos[i].enlace);
}y me sale que longitud (photos.length) es 0 y logicamente no me hace de mas trace.
Me pregunto porque el array se llena correctamente dentro de la funcion, pero una vez fuera de ella esta vacio?
Necesito este array photos para crear una galeria y veo que me escapa algo fundamental.
Gracias a todos!
