Os pongo mi clase y el contenido del .fla:
Código ActionScript :
package{ //imports import CargarFoto; import flash.display.Sprite; import flash.display.MovieClip; import flash.display.DisplayObject; import flash.display.Loader; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; public class CargarFichero extends MovieClip{ //variables private var xml:XML; private var arrayDir:Array; private var _arrayClip:Array= new Array() ; private var imagen:Loader; private var clip:MovieClip=new MovieClip(); public function CargarFichero() { var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, cargarXML); urlLoader.load(new URLRequest("miXml1.xml")); } public function cargarXML(event:Event){ xml=XML(event.target.data); trace(xml); arrayDir = new Array(); for each (var i:XML in xml.item){ //trace("1::"+i.image); arrayDir.push(i.image); } for (var j:uint=0; j<arrayDir.length; j++){ var imagen=new Loader(); imagen.load(new URLRequest(arrayDir[j])); this.addChild(imagen); clip.addChild(imagen); clip.name="mc"+[j]; _arrayClip.push(clip); } } public function get arrayClip():Array { // devuelve el valor del arrayClip return _arrayClip; } } }
Código ActionScript :
var carga:CargarFichero=new CargarFichero(); var array:Array= new Array(); array=carga.arrayClip; trace("array de 0::"+array[0]); for(var i:uint;i<array.length;i++){ trace("array::"+array[i]); }
Me devuelve valor undefined el array, pero en la clase si que puedo ver que tengo un array de clips con los nombres que quiero.
Lo que quiero ahora en el .fla es conseguir asignar el array de movieclip para utilizarlo y asignarle las posiciones..
No entiendo porque llega vacio, alquien me puede ayudar? Gracias por adelantado.