Laden einer swf-Datei mit AS3
Ich versuche zu laden, die in einem anderen swf auf eine Schaltfläche klicken Sie mit Aaction Script 3.
Das problem das ich habe ist, dass es scheint zu laden und mischen Sie zusammen ins Kino. Ist es möglich zu laden, und ersetzen Sie auf der Bühne der neu geladenen swf-ähnlich wie Sie dies tun könnte in AS2 mit der Funktion loadMovieNum()
Dies ist, was ich habe, so weit:
//Add event listener for button click
backButton.addEventListener(MouseEvent.CLICK, backButtonClick);
//Create a function for the button click
function backButtonClick(ev:MouseEvent):void
{
var request:URLRequest = new URLRequest("2.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);
}
Vielen Dank
InformationsquelleAutor mjsey | 2012-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die loader so:
Was Sie tun, ist, Sie erstellen einen neuen Loader jedes mal für jedes neue SWF, die Sie laden. Verwenden Sie einfach einen einzigen loader und jedes mal, wenn Sie das laden von Inhalten, es sollte, ersetzen Sie den vorhandenen Inhalt. Wenn nicht, passen Sie den code in etwa so:
Finden Sie in der Dokumentation für mehr: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html
Update
Wenn Sie wollen, um alles zu löschen von der Bühne, wenn Sie dies tun, finden Sie in der folgenden Frage & Antwort -Mein Actionscript 3.0-Bühne wird nicht klar.
Wussten Sie, fügen Sie die definition für die singleLoader? Wie also "var singleLoader:Loader = new Loader();" ??
Ah ich fehlte, und das ist das problem gelöst, aber jetzt ist es noch lädt den Film auf dem original und zeigt eine Mischung der beiden. Ich habe versucht, sowohl Ihre Vorschläge.
Ja bin ich , allerdings bin ich auch der Anzeige einer Karte mittels der google-api. Es muss irgendwie um den Bildschirm zu löschen und laden Sie einfach die zweite swf, auch wenn Sie können es öffnen sich in einem neuen Fenster vielleicht?
//Fügen Sie Ereignis-listener für den button-klicken Sie auf var singleLoader:Loader = new Loader(); backButton.addEventListener(MouseEvent.KLICKEN Sie auf, backButtonClick); //erzeugt eine Funktion für die Schaltfläche click-Funktion backButtonClick(ev:MouseEvent):void { var request:URLRequest = new URLRequest("slam.swf"); singleLoader.unloadAndStop(true); singleLoader.load(request); while(stage.numChildren - > 0) { removeChildAt(0); } stage.addChild(singleLoader); } Gibt mir die folgende Fehlermeldung jetzt : RangeError: Fehler #2006: Der angegebene index außerhalb des gültigen Bereichs. Vielen Dank für deine Hilfe bisher, sehr geschätzt
InformationsquelleAutor