Resulta que estoy cargando un swf externo y no me funciona.
Este swf esta compuesto por una serie de pantallas separadas por keyframes que con unos botones de siguiente o anterior se van navegando.
Toda la acción de los botones está hecha con AS3... clase de documento, addEventListener, etc... cada vez que hago clic en uno de los botones hago un gotoAndStop al fotograma clave siguiente o anterior según sea...
Este es el codigo muy resumido:
Código:
Nada complicado...package { import ...; public class Externo extends MovieClip { public function Externo() { ... siguiente_btn.addEventListener(MouseEvent.CLICK, irSiguiente); ... } ... private function irSiguiente() { indice++; gotoAndStop(indice); ... } ... } }
Probando este swf solo funciona sin problemas, el tema es cuando lo cargo de forma externa dentro de otro swf...
Para hacer esto uso la clase Loader, URLRequest, etc.
Código:
...y al cargarse el swf tengo dos comportamientos.package { import ...; public class Cargador extends MovieClip { public function Cargador() { var urlreq:URLRequest = new URLRequest("externo.swf"); var ldr:Loader = new Loader(); ldr.load(urlreq); addChild(ldr); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completo); } private function completo(e:Event):void { var externo_mc:MovieClip = e.target.content as MovieClip; ... ... } } }
Primero al terminar de cargar el swf externo se ven que van pasando las pantallas en un loop indefinido... pareciera que el AS de este no existiera y los botones siguiente o anterior no funcionan.
Esto logre solucionarlo agregando un e.target.content.stop() cuando se carga la pelicula, es decir, en el manejador del evento COMPLETE.
o sea:
Código:
Pero a partir de ese momento aparece el segundo comportamiento que es que el swf externo queda completamente detenido y no funcionan ni siquiera los botones.private function completo(e:Event):void { var externo_mc:MovieClip = e.target.content as MovieClip; externo_mc.stop(); ... }
Honestamente no se que estoy haciendo mal y no puedo encontrar una solución a esto.
Si a alguien se le ocurre que puede estar pasando o como encarar de otra manera este tema, será agradecido!!
Gracias
Mariano