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


Rheinwerk Computing - Zum Seitenanfang

18.2 Externe Filme in MovieClips laden  topZur vorigen Überschrift

Meistens ist es unpraktisch, dass ein externer Film auf einer eigenen Ebene landet. Die elegantere Lösung besteht darin, den externen Film in einen MovieClip zu laden:

loadMovie("extern.swf",_root.movieclip_mc);

In diesem Fall landet der externe Film genau auf der Ebene in der Zeitleiste oder auf der Tiefe des MovieClips, der ihn aufnimmt. Alternativ können Sie den MovieClip, in den Sie den externen Film laden möchten, auch vor loadMovie() adressieren statt ihn als Ziel anzugeben:

_root.movieclip_mc.loadMovie("extern.swf");

Wie Sie mit externen Filmen in MovieClips arbeiten, zeigen wir Ihnen anhand eines Beispiels. Ausgangspunkt ist die Datei externefilme.fla auf der CD-ROM. Sie besteht aus drei Schaltflächen auf der rechten Seite, die zwischen verschiedenen Textilienarten durchschalten sollen. Auf der linken Seite befindet sich das Produktfenster, in das Sie die externen SWF-Filme für die einzelnen Textilien hineinladen.

Abbildung 18.2 In das Produktfenster auf der linken Seite sollen Kleidungsstücke geladen werden.

Unter dem Produktfenster finden Sie eine Schaltfläche. Sie soll die Ansicht der Kleidungsstücke von Vorder- zu Rückansicht und umgekehrt wechseln. Der Trick dabei: Beide Zustände sind in den externen SWF-Filmen hose.swf, langarm.swf und shirt.swf hinterlegt.

Schritt für Schritt: Mit externen Filmen arbeiten

Der Code für dieses Beispiel landet komplett im ersten Schlüsselbild des Hauptfilms auf der Ebene ActionScript.

Erstellen Sie einen neuen, leeren MovieClip:

this.createEmptyMovieClip("produktcontainer_mc", 1);
produktcontainer_mc._x = 38;
produktcontainer_mc._y = 90;

Dieser MovieClip ist der Container für die externe SWF-Datei. Sie platzieren ihn gleich an der richtigen Stelle und legen ihn auf Tiefe 1.

Für die erste Schaltfläche laden Sie den externen Film shirt.swf:

produktwahl1_btn.onRelease = function() {
   produktcontainer_mc.loadMovie("shirt.swf");
};

Die zweite Ereignisprozedur für die Schaltfläche lädt die Langarm-Variante des T-Shirts (langarm.swf):

produktwahl2_btn.onRelease = function() {
   produktcontainer_mc.loadMovie("langarm.swf");
};

Der dritte Film hose.swf wird geladen:

produktwahl3_btn.onRelease = function() {
   produktcontainer_mc.loadMovie("hose.swf");
};

Um die Ansicht des geladenen Films zu ändern, müssen Sie auf die Zeitleiste des geladenen externen Films zugreifen:

ansicht_btn.onRelease = function() {
   _root.produktcontainer_mc.nextFrame();
};

Abbildung 18.3 Der externe Film mit dem Produkt erscheint, Vorder- und Rückansicht lassen sich einfach wechseln.

Die fertige Datei auf der CD-ROM trägt den Namen externefilme_AS2.fla bzw. externefilme_AS1.fla. Statt nur die Ansicht zu wechseln, können Sie natürlich auch andere Einstellungen in den geladenen Filmen verändern. Wie wäre es beispielsweise mit unterschiedlich farbigen T-Shirts oder verschiedenen Größen?

Externen Film aus MovieClip entfernen

Um den MovieClip wieder zu leeren, verwenden Sie die Methode unloadMovie() der MovieClip-Klasse:

_root.movieclip_mc.unloadMovie();

Vorsicht, auch hier gilt: Bevor der Film nicht geladen ist, kann er nicht entfernt werden.

_lockroot im Hauptfilm

Für einen externen Film, den Sie in einen MovieClip laden, können Sie die aus dem letzten Abschnitt bekannte Eigenschaft _lockroot auch direkt einsetzen; damit erlauben Sie die absolute Adressierung in dem externen Film:

loadMovie("extern.swf",_root.movieclip_mc);

_root.movieclip_mc._lockroot = true;

Übergeordnete MovieClips sind davon nicht betroffen; für sie ist die Hauptzeitleiste des Hauptfilms das Wurzelelement (_root).

Ladevorgang überwachen

In Flash 8 und MX 2004 gibt es eine eigene Klasse namens MovieClipLoader. Sie ermöglicht Ihnen externe Filme zu laden. Aber nicht nur das, sie definiert außerdem Ereignisse, mit denen Sie den Ladevorgang exakt überwachen können. Sie finden die Klasse im Aktionen-Bedienfeld unter Integrierte Klassen • Film.

Und so setzen Sie die Klasse ein:

Abbildung 18.4 Die Klasse MovieClipLoader hilft Ihnen, externe Filme mit mehr Kontrolle zu laden.

1. Sie erstellen ein neues MovieClipLoader-Objekt:
       
var lader:MovieClipLoader = new MovieClipLoader();
2. Mit der Methode loadClip(Film, Ziel)loadClip() (Methode) laden Sie den externen Film entweder auf ein Level oder in einen MovieClip:
       
lader.loadClip("extern.swf", _root.movieclip_mc);
3. Zur Überwachung können Sie Event-Event-Listenerfür MovieClipLoaderListener definieren; die zugehörigen Ereignisse finden Sie im Aktionen-Bedienfeld. Das folgende Beispiel verwendet onLoadComplete (Ereignisprozedur)loadClip (Ereignis)onLoadComplete und erhält damit den Zeitpunkt, an dem der Film geladen wurde. Eine einfache Meldung erscheint im Ausgabe-Fenster:
       
var eventListener_obj:Object = new Object();
eventListener_obj.onLoadComplete = function() {
   trace("Externer Film ist geladen");
};
lader.addListener(eventListener_obj);
    • Statt der einfachen Ausgabe können Sie den Zustand, nämlich dass der Film geladen wurde, natürlich auch in eine Variable speichern und weiterverwenden. Oftmals bietet sich eine Überprüfung an, bei der bestimmte Anweisungen erst ausgeführt werden, wenn der externe Film bereits geladen ist.

Event-Listener

Ein Event-Listener wartet, bis ein bestimmtes Ereignis eintritt, beispielsweise das Drücken einer Taste. Diese Art zu programmieren, hat in Flash 8 und MX 2004 verstärkt Einzug gehalten. Eine ausführliche Erklärung finden Sie in Kapitel 9, »Tasten«, und dort im Abschnitt »Event-Listener«.




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