Comunidad de diseño web y desarrollo en internet online

Problema al cargar una peli flex dentro de flash

Citar            
MensajeEscrito el 26 May 2008 09:23 pm
estoy cargando un swf que es una application flex desde flash.

Lo estoy cargando con loader:

ldr = new Loader();
ldr.load(new URLRequest("mi_application.swf"));

al detectar que se completo la carga con un listener hago:

var myObject = new Object();
myObject = ldr.content;

Lo que me sucede es que myObject es del tipo mx_managers_SystemManager y no puedo acceder de ninguna manera al contenido.
Lo que tengo dentro del Application es un SWFLoader con ID miCargador donde cargo una peli flash. Dentro de flex a los objetos que queiro acceder lo hago de la siguiente manera miCargador.content["miMC"]

lo que necesito ahora es acceder al contenido del flash cargado en SWFLoader desde el flash que carga la pelicula flex.

imaginaria algo de este estilo

myObject.application.MiCargador.content["miMC"] pero obviamente esto no me funciona. Si quiero usar algo dentro de miCargador me dice objeto nulo.

Alguein me puede dar una mano para acceder a lo que tengo dentro de MiCargador del tipo SystemManager??

desde ya gracias por todo

Por slombardi

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 May 2008 12:14 pm
El content del loader lo has de colocar dentro de un MovieClip no un Object, y accedes a su contenido con getChild()

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 27 May 2008 03:03 pm
Zguillez, la verdad que eso es lo primero que intente pero no me dio resultado.

les cuento que resolví el problema agregando un listener en el flash y hago un dispatchEvent desde flex. Espero que a alguno le sirva.


Código :

ldr = new Loader()
ldr.contentLoaderInfo.addEventListener(Event.INIT, loadInit);

private function loadInit(e:Event) {
   addChild(ldr);
   MyObject = MovieClip(ldr.content);
   MyObject.addEventListener(Event.ENTER_FRAME, checkContenido);
}

function checkContenido(event:Event):void {
   if (myObject.currentFrame == 2) {
      myObject.removeEventListener(Event.ENTER_FRAME, checkContenido);
      myObject.application.addEventListener("cerrarLaVentanaFlex", btnCerrarEventHandler);
   }         
}
      
private function btnCerrarEventHandler (event : Event ) : void        {
  myObject.application.removeEventListener(MouseEvent.CLICK,btnCerrarEventHandler);
  ldr.unload();
}


Por slombardi

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 May 2008 03:07 pm
Agrego un poco de info.

Mi primer problema fue que el objeto MyObject que tiene el loader.content era siempre nulo. Esto lo resolvi esperadno a que currentFrame sea 2 ya que flash ve a las pelis flex como una peli con 2 frames.
En ese momento pude agregar el listener sin problemas.

El segundo problema fue que no pude acceder al contenido de un SWFLoader cargado dentro del flex cargado por el flash. se que ve complejo pero asi es. Si alguien tiene info sobre como hacer esto sera bienvenida la info.

saludos

Por slombardi

5 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.