Laden AS2-SWF In AS3-SWF-und pass vars in der URL
Ich habe eine AS3-SWF, werde ich das laden anderer SWF-Dateien in. Diese untergeordneten SWF-Dateien alle einen einzigen parameter in der URL. Ich kann nicht scheinen, um es zu arbeiten, wenn das laden einer AS2-Kind, und es muss in der Lage sein zu behandeln.
also ich habe
var request:URLRequest = new URLRequest();
var loader:URLLoader = new URLLoader();
request.url = "http://domain/as2.swf?param=foo";
loader.load(request);
//etc on to the eventListeners, addChild, etc
Wenn der as2 SWF geladen wird, es nicht sehen können, die parameter, die ich übergeben habe. Es sucht _root.param. Mache ich das falsch oder bin ich versucht, das Unmögliche?
EDIT: ich sollte hinzufügen, dass ich können das laden einer SWF-Datei mit diesen URL-params aus einem AS2 loader und es funktioniert Prima.
InformationsquelleAutor nerdabilly | 2009-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es nicht trivial, die für die Kommunikation zwischen AS2 und AS3 seit Sie laufen in verschiedenen virtuellen Maschinen. Überprüfen Sie diese http://www.gskinner.com/blog/archives/2007/07/swfbridge_easie.html für einige Hinweise.
Edit: Wenn Sie nicht ändern Sie die geladene as2 content Ihre Optionen ist, dass ein 'wrapper' as2 loader verwendet, der verlinkte Beispiel oben, um die Kommunikation mit dem as3 und Schnittstellen mit den geladenen as2-Inhalt mit "_root".varname Dies ist nicht hübsch, aber es könnte funktionieren.
Hmm, ich glaube, in diesem Fall sind Sie kein Glück-am Besten ich denken kann, ist eine zusätzliche 'wrapper' as2 loader verwendet, der verlinkte Beispiel oben, um die Kommunikation mit dem as3 und Schnittstellen mit den geladenen as2-Inhalt mit "_root".varname
das Wars eigentlich, was ich am Ende tun! danke.
InformationsquelleAutor Simon Groenewolt
Es könnte einen Versuch Wert zuweisen, Variablen dynamisch nachdem die SWF-Datei geladen wurde, aber bevor Sie es hinzufügen, auf die Bühne. Dh.
Lassen Sie mich wissen, wie das geht.
InformationsquelleAutor Richard Szalay
AS3 -> AS3 -
Film 1(www.domain1.com):
Laden Sie den externen Film, wenn Sie auf eine Schaltfläche "kaufen"...
Movie 2(http://www.domain2.com/movie.swf):
"dumper" ist der name der Dynamischen Textbox-Feld befindet sich im Movie2.
Die Ausgabe sollte wie folgt Aussehen:
InformationsquelleAutor sitemap
Statt der Suche nach _root.param, _root._url dann analysieren Sie Ihre Parameter mit der hand.
SWFBridge ist genial und overkill für so etwas.
InformationsquelleAutor shawnc
Du etwas falsch.
"http://domain/as2.swf?param=foo"
Ist eine Anfrage für die Datei mit dem Namen as2.swf, auf dem server mit dem Namen domain. ?param=foo - Parameter, die Teil der http-Anfrage verloren gehen, wenn die Anforderung abgeschlossen ist. Wenn der server benötigt, um etwas zu tun, die nach diesen Variablen, es würde, aber du stellst dir eine .swf - Datei zu erkennen, diese Variablen, das ist einfach nur albern.
Setzen Sie eine variable im Globalen Objekt (Global namespace) für den flash player, wenn dann die as2 .swf wird geladen, der flash-player wird es Zugriff auf die variable, die Sie in Ihre Globale Objekt.
Ich bin nicht bewandert in as2, aber in as3, das Globale Objekt zugegriffen werden kann mit der dies - Schlüsselwort, auf Paket-Ebene (probly ist das gleiche für as2, nur dont sorgen über die Einstellung bei einem package-Ebene).
Auch, soweit ich weiß: 'dies' bezieht sich auf das aktuelle Objekt, nicht auf ein/das Globale Objekt.
dies ist das aktuelle Objekt, wenn Sie im globalen Bereich.
beide as2-und as3-SWFs können erhalten vars übergeben, die in der URL wie diese. in AS2 ist es getan mit "_root".varName und in AS3 ist es mit LoaderInfo.
InformationsquelleAutor ForYourOwnGood