Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Carga XML.. problema de comunicación entre clases as3.

Iniciado por ganon, 22 de Mayo de 2009, 01:30:40 AM

« anterior - próximo »

ganon

Hola a todos, resulta que tengo un problemita, estoy haciendo un proyecto flash cs4, el cual contiene varios archivos *.as para separar clases.
En particular tengo dos clases, CargaXML en el archivo CargaXML.as el cual carga un archivo xml llamado songs.xml y la clase GuiGameSongSelection en el archivo GuiGameSongSelection.as en el cual quiero listar los datos xml leidos en la instancia de CargaXML pero nose como hacerlo, realmente estoy perdido.
Agradecería mucho su ayuda.

a continuación el código:
CargaXML.as

package {
   import flash.net.URLLoader;
   import flash.net.URLRequest;
   import flash.xml.XMLDocument;
   import flash.errors.*;
   import flash.events.*;
   
   public class CargaXML {
     
      private var loader:URLLoader;
      private var mainXML:XML;
      //public var message:String = "Variable de instancia llamada";
     
      public function CargaXML(urlDelXML:String){
         loader = new URLLoader();
         loader.addEventListener(Event.COMPLETE, onComplete);
         loader.load(new URLRequest(urlDelXML));
      }
     
      public function onComplete(evt:Event):XML  {
         try {
            mainXML=XML(loader.data);
            //trace(mainXML);
            //trace("Leido el XML");
           
         } catch (e:Error) {
            //trace("Error: " + e.message);
            return;
         }
      }
   }
}


GuiGameSongSelection.as


package {
   import flash.display.*;
   import flash.events.*;
   import flash.utils.Timer;
   import flash.text.TextField;

   public class GuiGameSongSelection extends MovieClip {
     
      private var XMLSongs:CargaXML;
     
      public function GuiGameSongSelection() {
         XMLSongs = new CargaXML("songs.xml");
         //pruebas con trace
         trace("intentando rescatar datos del xml");
         trace("GuiSongs");
         trace(XMLSongs.message);
         trace(XMLSongs.mainXML);
         
      }
   }
}


Alexpi

o haces el objeto mainXML de la clase CargaXML publico, o te creas un metodo publico que te devuelva el objeto (yo optaria por lo 2º).

Ademas tu onComplete, no devuelve ningun XML, asi q ponle void.

Un saludo.
Juego web www.goldpiece.net






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.