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
Download: - ZIP, ca. 14,4 MB
Ihre Meinung?
<< zurück | Galileo Design / <openbook> /Einstieg in ActionScript | vor >>
Einstieg in ActionScript von Christian Wenz, Tobias Hauser, Armin Kappler Aktuell zu Flash 8
Einstieg in ActionScript brosch., mit CD und QuickFinder und Referenz 416 S., 24,90 Euro Galileo Design ISBN 978-3-89842-774-6 |
| 18 Externe Filme
|  | 18.1 Externe Filme laden
|  | 18.2 Externe Filme in MovieClips laden
|  | 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. ## 18.1 Externe Filme laden 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. Hier klicken, um das Bild zu vergrößern 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. ### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Zum Katalog
ActionScript 3 Das Praxisbuch bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Adobe Flash CS3
| Flash fast forward
| Dreamweaver CS3
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 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.

[Galileo Design]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de