Al cargar un archivo xml externo no puedo lograr hacer un return, en la funcion que carga lo que me devuelve es una cadena array vacia, ni null, ni error, ni nada solo un espacio en blanco el único valor que me regresa es el trace que esta dentro de la función onCompleteXML y no se que pasa espero me puedan ayudar.
MI XML ES EL SIGUIENTE:
Código :
<?xml version="1.0" encoding="UTF-8"?> <imagenes> <img pag="0" src="luna1.jpg"/> <img pag="1" src="luna2.jpg"/> </imagenes>
MI CLASE ES LA SIGUIENTE :
Código :
package{ import flash.events.*; import flash.display.*; import flash.xml.*; import flash.net.URLLoader; import flash.net.URLRequest; public class Prueba { private var xmlExterno:XML; private var loader:URLLoader = new URLLoader(); private var thumb:Number; private var esp_pag = 40; var miniaturas:Array= new Array(); public function Prueba (){ var prueba = this.obtieneMiniatura(); trace(prueba); } public function obtieneMiniatura():Array{ var ruta:URLRequest=new URLRequest("XML/imagenes.xml");// EL ARCHIVO ES APARTIR DEL .FLA loader.load(ruta); loader.addEventListener(Event.COMPLETE, onCompleteXML); function onCompleteXML(evt:Event):Array{ var loader:URLLoader = evt.target as URLLoader; if(loader != null) { xmlExterno = new XML (loader.data);} else{ trace("no puedo cargar el archivo");} // TRAE LOS ATRIBUTOS DEL XML // THUMB MIDE LA CANTIDAD DE OBJETOS QUE TENEMOS thumb = xmlExterno.elements().length(); for each (var miniatura:String in xmlExterno.img.attribute("src")) { miniaturas.push(miniatura); } trace(miniaturas) //este si me lo muestra return miniaturas } trace(miniaturas); // este me lo pinta blanco return miniaturas }// termina funcion obtieneMiniatura } }
MI .FLA :
Código ActionScript :
import Prueba; var miniatura:Prueba = new Prueba();
LES AGRADESCO MUCHO Y ESPERO ME PUEDAN AYUDAR QUE ME ESTOY VOLVIENDO LOCO SALUDOS!!!!