AS2: Wie verwende ich die Methode addEventListener über einen SWF/MovieClip geladen via MovieClipLoader
Ich versuche zu laden, eine lokale SWF-dann fangen ein paar Ereignisse, die ausgelöst werden, aber ich kann nicht sehen, warum dies nicht funktioniert.
Hier ist der code
Eltern.swf
_mcl = new MovieClipLoader();
_mcl.addListener(this);
_mcl.loadClip("Child.swf", rotator_mc);
function onLoadComplete(clip) {
clip.addEventListener("initAsLoaded", function() {trace("childLoaded loaded 1")});
}
function onLoadInit(clip) {
clip.addEventListener("initAsLoaded", function() {trace("childLoaded loaded 2")});
}
Kind.swf
import mx.events.EventDispatcher;
function dispatchEvent() {};
function addEventListener() {};
function removeEventListener() {};
EventDispatcher.initialize(this);
trace("Child dispatching: childLoaded");
dispatchEvent({type:"childLoaded", target: this});
Nun war ich der Hoffnung, dass dies funktionieren würde, und die Eltern hätten "childLoaded gefangen 2" in die Spur, aber es funktioniert nicht.
Gibt es eine Möglichkeit, das zu erreichen, was ich versuche zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das erste, was ich bemerkte, war die Tatsache, dass die Eltern Sie aufgelistet, die für eine Veranstaltung namens
initAsLoaded
aber in der Kind du bist Absendung einer Veranstaltung namenschildLoaded
. Warten auf ein Ereignis, das nie abgesetzt werden, ist möglicherweise keine gute Idee.Dies ist jedoch nicht das eigentliche Problem, weil die Festsetzung der Ereignisse löst nicht das problem. Das Hauptproblem ist, dass die
onLoadInit
Ereignis aus derMovieClipLoader
ausgelöst nach den code dem ersten frame des Kindes.swf ausgeführt wurde. Dies bedeutet, dass im Kind.swf-du bist Disposition ein Ereignis, auf das erste Bild, das niemand hört zu, weil dieonLoadInit
wurde noch nicht genannt noch.Um dies zu beheben können Sie nur starten, auslösen von Ereignissen in das Kind.swf aus dem zweiten frame ab.
Übergeordneten erste Bild:
Dies ist meine version von Ihren Eltern den ersten frame. Ich hatte zum erstellen einer leeren MovieClip als container und ich fügte hinzu, einige Spuren an den event-Handler.
Kind erste Bild:
Kind zweites frame:
Hoffe, das hilft...