ActionScript - como llamar a diversos swf desde una clase manager

 
Vista:

como llamar a diversos swf desde una clase manager

Publicado por yoyo (1 intervención) el 11/02/2009 12:36:54
Hola,a ver si me podeis ayudar,
tengo unas dudas, estoy creando una animación compuesta de varios swf externos, la idea es tener una clase manager que los gestione, me gustaría saber como un swf sabe, que cuando termina tiene que ir a la clase manager,

Alguna sugerencia!! estoy muuuy perdida

gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Comunicación entre SWF externos y una clase manager mediante eventos

Publicado por Alejandro (369 intervenciones) el 24/06/2023 00:36:02
Hola, Yoyo.

Para que un SWF externo sepa cuándo ha terminado y comunique esa información a la clase manager, puedes utilizar el sistema de eventos en ActionScript. Aquí hay una sugerencia de cómo podrías lograrlo:

1. En la clase manager, crea un objeto `EventDispatcher` que actuará como un emisor de eventos:

1
2
3
4
5
import flash.events.EventDispatcher;
 
public class Manager extends EventDispatcher {
    // Resto del código de la clase manager
}

2. Cuando cargues el SWF externo dentro de la clase manager, escucha el evento `Event.COMPLETE` para saber cuándo ha terminado de cargar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var loader:Loader = new Loader();
var swfURL:String = "ruta_al_sfw_externo.swf";
 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSWFLoadComplete);
loader.load(new URLRequest(swfURL));
 
function onSWFLoadComplete(event:Event):void {
    // El SWF externo ha terminado de cargar
    var loadedSWF:MovieClip = MovieClip(loader.content);
 
    // Agrega la lógica para comunicarse con la clase manager cuando termine la animación del SWF externo
    loadedSWF.addEventListener(Event.COMPLETE, onExternalSWFComplete);
}
 
function onExternalSWFComplete(event:Event):void {
    // La animación del SWF externo ha terminado
    // Aquí puedes realizar las acciones necesarias o despachar un evento personalizado
    dispatchEvent(new Event(Event.COMPLETE));
}

3. En el SWF externo, cuando la animación haya finalizado, puedes despachar un evento `Event.COMPLETE` para notificar a la clase manager:

1
2
3
4
import flash.events.Event;
 
// Cuando la animación haya terminado
dispatchEvent(new Event(Event.COMPLETE));

Con esta implementación, el SWF externo puede comunicar a la clase manager cuando ha finalizado su animación a través del evento `Event.COMPLETE`. La clase manager puede escuchar ese evento y realizar las acciones necesarias o despachar eventos personalizados para responder a la finalización del SWF externo.

Espero que esta sugerencia te sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar