Flash macht die Kombination verschiedener Elemente von Medien einfach. Importieren und Spielen eines externen SWF in Flash-Filme ist eine häufige und nützliche Aufgabe . Es ermöglicht Ihnen, Nutzung anderer Ressourcen zu machen und die verschiedenen Elemente in einer Flash-Anwendung zu trennen, die Minimierung der Download-Zeiten und Benutzerfreundlichkeit für Menschen betrachten Ihre Arbeit. Um eine SWF-Datei in eine andere SWF spielen, müssen Sie nur ein paar einfache ActionScript-Codezeilen , die leicht eingesetzt werden und kann individuell auf Ihre Bedürfnisse anzupassen . Anleitung
1
Erstellen Sie Ihre Flash-Datei und legen Sie sie bis zum Laden des zweiten SWF-Datei. Fügen Sie visuelle oder interaktive Funktionen, die Sie mit den Flash-Zeichenwerkzeugen und Komponenten. Legen Sie Ihr Dokument Eigenschaften , die Abmessungen, die Sie benötigen zu erstellen. Legen Sie eine neue Ebene in der Flash-Datei , indem Sie die " Ebene einfügen " in der Timeline -Bereich, die Benennung der Schicht " Aktionen " , um Ihren Code in einem Ort zu halten .
2
Hinzufügen von Code , um Ihren Flash Datei über die Schaltfläche " Aktionen "-Schicht und Öffnen Sie das Bedienfeld Aktionen , indem er das nach und ersetzen Sie den Namen des externen SWF Sie wollen geladen
Wenn Sie mit ActionScript 3.0 sind : .
var movieLoader : Loader = new Loader ();
addChild ( movieLoader );
var movieURL : URLRequest = new URLRequest ( " second_swf_name.swf ");
movieLoader.load ( movieURL );
ActionScript 2.0 :
var movieLoader : MovieClipLoader = new MovieClipLoader ();
var holdingClip_mc : MovieClip = _ root.createEmptyMovieClip ( " holdingClip_mc " , _ROOT . getNextHighestDepth ());
movieLoader.loadClip ( " second_swf_name.swf " , holdingClip_mc );
3
Richten Sie den ActionScript-Code zu überprüfen, wenn die SWF wurde vollständig geladen
In ActionScript 3.0 :
movieLoader.contentLoaderInfo.addEventListener ( Event.COMPLETE , swfComplete );
Funktion swfComplete ( completeEvent : Event) : . Void
{ trace (" SWF vollständig geladen ");
//Durchführung keine zusätzlichen Aufgaben hier
movieLoader.contentLoaderInfo.removeEventListener ( Event.COMPLETE , swfComplete );}
in ActionScript 2.0 , muss der folgende Code eingefügt , bevor das SWF geladen wird (das ist die Zeile mit " loadClip " in it) werden :
var swfLoadListener : Object = new Object ();
swfLoadListener.onLoadComplete = function ( target_mc : MovieClip )
{ trace (" SWF vollständig geladen ");
//Durchführung keine zusätzlichen Aufgaben hier
movieLoader . removeListener ( swfLoadListener );} ;
movieLoader.addListener ( swfLoadListener );
Sie zu erkennen, wenn die SWF ist erlaubt , so dass Ihr Code kann bewegen Sie sich mit allen Aufgaben, die Sie zusätzliche Verarbeitung durchführen wollen .
4
Zeigen den Status des Ladens an die Benutzer . Die Menschen sind eher um Ressourcen warten zu laden , wenn Sie Status als Be Fortschritte geben
ActionScript 3.0 :
movieLoader.contentLoaderInfo.addEventListener ( ProgressEvent.PROGRESS , showStatus );
.
Funktion showStatus ( pevent : ProgressEvent ): void {
indicator_txt.text = " Lädt Film: " + ( pEvent.bytesLoaded /pEvent.bytesTotal * 100) + " % ";}
< p> Für ActionScript 2.0 :
swfLoadListener.onLoadProgress = function ( target_mc : MovieClip , numBytesLoaded : Anzahl , numBytesTotal : Number) {
indicator_txt.text = " Lädt Film: " + ( numBytesLoaded /numBytesTotal * 100) + " % ";} ;
Fügen Sie ein dynamisches Textfeld auf der Bühne Bereich in Ihrem Flash-Datei , die Eingabe der Instance Name " indicator_txt " in das Feld in der Eigenschaften- Panel . Positionieren Sie das Textfeld sichtbar zu sein , während die SWF-Datei geladen wird.
5
Exportieren Sie Ihre Flash-Datei und laden Sie sie auf einem Webserver . Testen Sie es , um zu sehen , dass die zweite SWF Lasten, und dass der Status richtig aktualisiert. Wenn Ihre SWF nicht korrekt geladen , überprüfen Sie , dass die URL korrekt ist , daran erinnert, dass die von Ihnen angegebenen Speicherort wird relativ zu dem die Main SWF befindet. Wenn Ihr zweiter SWF ist auf einem anderen Server , müssen Sie eine absolute URL , die den vollständigen Pfad zu der Filmdatei , wie im folgenden Beispiel verwenden:
http://swfdomain.com/swfname.swf