Foros del Web » Creando para Internet » Flash y Actionscript »

AS3 Loader y swf externo que no funciona

Estas en el tema de AS3 Loader y swf externo que no funciona en el foro de Flash y Actionscript en Foros del Web. Hola, hace rato que entro al foro y suelen ser muchas las dudas que me saco viendo los temas de los foros, pero hoy me ...
  #1 (permalink)  
Antiguo 24/09/2009, 21:12
 
Fecha de Ingreso: mayo-2008
Mensajes: 9
Antigüedad: 15 años, 11 meses
Puntos: 1
AS3 Loader y swf externo que no funciona

Hola, hace rato que entro al foro y suelen ser muchas las dudas que me saco viendo los temas de los foros, pero hoy me toca escribir ya que no he podido encontrar nada que solucione mi problema.

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:
package {

	import ...;
	
	public class Externo extends MovieClip {
		
		public function Externo() {

			...
			siguiente_btn.addEventListener(MouseEvent.CLICK, irSiguiente);
			...

		}
		...

		private function irSiguiente() {

			indice++;
			gotoAndStop(indice);
			...

		}
		...

	}
}
Nada complicado...

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:
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;
			...
			...
		}
	}
}
...y al cargarse el swf tengo dos comportamientos.

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:
		private function completo(e:Event):void {
		
			var externo_mc:MovieClip = e.target.content as MovieClip;
			externo_mc.stop();
			...
		}
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.

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
  #2 (permalink)  
Antiguo 25/09/2009, 17:29
 
Fecha de Ingreso: mayo-2008
Mensajes: 9
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: AS3 Loader y swf externo que no funciona

[RESUELTO]: tenía un símbolo en el swf principal que estaba vinculado a una clase que tenía el mismo nombre que la clase de documento del swf externo. Eso hacía que se rompiera todo.
Espero les sirva el dato.
Saludos
Mariano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:04.