Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
Know-how für Kreative.

Inhaltsverzeichnis
Vorwort
1 Flash für ActionScript
2 ActionScript in Flash
3 Flash Pro für ActionScript
4 Grundlagen der Programmierung
5 Einfache Filmsteuerung
6 Bildschirme und Präsentationen
7 Drucken und das Kontextmenü
8 Textfelder
9 Tasten
10 Datum und Zeit
11 Rechnen
12 Farbe wechseln und Drag
13 Zeichnen und Zufall
14 Von Mäusen und Duplikaten
15 Kollisionstest
16 Sound
17 Video
18 Externe Filme
19 Vorladen und Player erkennen
20 Formulare und UI-Komponenten
21 Komponenten anpassen
22 Formulare versenden
23 Warenkorb
24 Ausblick auf ActionScript 3
Stichwort
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in ActionScript von Christian Wenz, Tobias Hauser, Armin Kappler
Aktuell zu Flash 8
Buch: Einstieg in ActionScript

Einstieg in ActionScript
brosch., mit CD und QuickFinder und Referenz
416 S., 24,90 Euro
Rheinwerk Design
ISBN 978-3-89842-774-6
Pfeil 18 Externe Filme
  Pfeil 18.1 Externe Filme laden
  Pfeil 18.2 Externe Filme in MovieClips laden
  Pfeil 18.3 Externe Bilder

18 Externe Filme

Größere Anwendungen auf mehrere SWF-Filme verteilen

Sie werden lernen:

  • Wie laden Sie externe SWF-Filme?
  • Was müssen Sie beachten, um häufige Fehler zu vermeiden?
  • Wie laden Sie externe Bilder?
  • Wie verfahren Sie mit externem Code?

Schlecht außen, kostbar innen. – Shakespeare

Eine Flash-Anwendung besteht in der Praxis oft nicht nur aus einem, sondern aus mehreren SWF-Filmen. Diese externen Filme sorgen für viel Flexibilität: Sie können für jedes Produkt einen eigenen Film anlegen und alle dann im Hauptfilm sammeln. Für diese Aktion benötigen Sie ActionScript; dabei gibt es allerdings Einiges zu beachten.


Rheinwerk Computing - Zum Seitenanfang

18.1 Externe Filme laden  topZur vorigen Überschrift

Das Laden eines externen Films funktioniert mit der Methode loadMovie(SWF, Level) der MovieClip-Klasse. Der erste Parameter ist klar: Er gibt die Adresse des externen Films auf dem Server an. Der zweite Parameter, das Level (auch Stufe oder Dokumentebene genannt), stellt den Programmierer dagegen gerne vor Rätsel.

Abbildung 18.1 Ein externer Film landet auf einem eigenen Level.

So schwer ist es aber nicht. Sie erinnern sich an das Konzept der Tiefe aus Kapitel 13, »Zeichnen und Zufall«? Ein per ActionScript erstellter MovieClip landet (optisch, nicht hierarchisch) über den Elementen der Zeitleiste, ein externer Film landet auf einer eigenen Stufe. Der Hauptfilm hat immer die Stufe 0. Jeder externe Film ist auf einer höheren Stufe positioniert. Alle Elemente, auch die per ActionScript erstellten MovieClips, einer höheren Stufe liegen höher als die der tieferen Stufe.

Sehen Sie sich das näher an:

loadMovie("extern.swf", 0);

lädt ein externes SWF-Dokument in die Ebene des Hauptfilms. Der aktuelle Hauptfilm wird ersetzt.

Die folgende Zeile lädt die externe SWF-Datei in eine eigene Ebene:


Adresse der externen Datei

Die Adresse der externen Datei können Sie relativ angeben (im Beispiel verweist sie auf eine Datei im gleichen Ordner) oder absolut mit http://.


loadMovie("extern.swf", 1);

Alternativ können Sie das Level auch als String angeben:

loadMovie("extern.swf", "_level1");

Das Level identifizieren Sie mit dem Schlüsselwort _level, gefolgt von der Nummer.

Neben loadMovie(Film, Level) gibt es noch loadMovieNum (Film, Level), das einen externen Film auf ein bestimmtes Level lädt (deswegen der Namenszusatz Num). Das geht allerdings wie hier gesehen auch mit loadMovie(). Da diese Methode in der Praxis wesentlich häufiger angewendet wird, setzen auch wir sie in unseren Beispielen ein.

Werte über Stufen austauschen

Strukturwissen

Wenn Sie einen externen Film per ActionScript laden, taucht er nicht im Zielpfad-Editor oder im Film-Explorer auf, da er ja erst beim Interpretieren des SWF-Films im Flash-Player und noch nicht in der Entwicklungsumgebung geladen wird. Deswegen sollten Sie die Struktur des externen Films natürlich gut kennen, um auf Elemente daraus zuzugreifen; oder Sie lassen ihn in Flash offen.


Wenn Sie einen Film auf eine Stufe laden, wie können Sie dann auf Variablen, Funktionen und MovieClips in diesem Film zugreifen? Sie müssen das Level als Ausgangsadresse angeben. Die folgende Zeile greift beispielsweise auf eine Variable des neu in Stufe 1 geladenen Films zu:

_level1.variable

Ein Beispiel finden Sie in der Schritt-für-Schritt-Anleitung »Mit externen Filmen arbeiten« im Abschnitt weiter unten.

Absolute Adressierung

Ein Problem von externen Filmen liegt in der absoluten Adressierung: Wenn Sie einen Film laden, der auf Variablen, Textfelder, Schaltflächen oder MovieClips mit absoluter Adressierung, also beginnend mit _root, zugreift, funktioniert das nicht. Ersetzt der geladene Film nicht den bisherigen Hauptfilm, dann ist der Hauptfilm _root, der geladene Film dagegen _level1, _level2 etc. Sämtliche absolute Adressierungen im geladenen Film scheitern demzufolge. Es gibt zwei Taktiken, um dieses Problem zu umgehen:

  • Sie setzen in geladenen Filmen nur die relative Adressierung ein. Ist nicht von Anfang an klar, ob ein Film in einen anderen geladen werden soll, bevorzugen Sie besser gleich die relative Adressierung.
  • Ab Flash MX 2004 können Sie mit der Eigenschaft _lockroot einen beliebigen MovieClip zur Wurzel (_root) machen. Diese Wurzel gilt dann für alle untergeordneten MovieClips. Wenn Sie möchten, dass ein geladener Film seine Wurzel behält, geben Sie in seiner Hauptzeitleiste den folgenden Befehl ein:
_lockroot = true;
Film entfernen

Ein Film, den Sie laden, möchten Sie unter Umständen auch wieder loswerden. Das gelingt Ihnen mit der Methode unloadMovie(). Sie erwartet keinen Parameter, stattdessen adressieren Sie davor den externen Film, den Sie entfernen möchten:


Fehlerquelle

Sie können einen Film nicht laden und sofort wieder loswerden. Ein Film lässt sich nämlich nicht entfernen, solange er nicht komplett geladen ist.


_level1.unloadMovie();

Obige Zeile entfernt den Film von Level 1.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 <<   zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 3 – Das Praxisbuch
ActionScript 3
Das Praxisbuch

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern