14.3 Von der Bibliothek zur Bühne
Der MovieClip, der bisher dupliziert wurde, existiert bereits als Instanz auf der Bühne. Bisher haben Sie per ActionScript nur MovieClips gesteuert, die auf der Bühne vorlagen.
Jetzt gehen Sie einen Schritt weiter und arbeiten mit einem MovieClip, der in der Bibliothek liegt. Die Methode attachMovie() der MovieClip-Klasse erlaubt Ihnen, einen solchen MovieClip einem beliebigen anderen MovieClip unterzuordnen. Die folgende Zeile fügt einen MovieClip unter dem Hauptfilm ein:
_root.attachMovie("Exportname", "Neuer Name", Tiefe);
Die drei Parameter bedeuten Folgendes:
Exportverhalten |
Flash packt in den SWF-Film nur die Objekte aus der Bibliothek, die auch als Instanzen zum Einsatz kommen. Alle Elemente, die Sie mit ActionScript verwenden möchten, müssen Sie deswegen mit Export für ActionScript versehen. |
- Mit dem Exportnamen benennen Sie den MovieClip in der Bibliothek. Diesen Namen muss der MovieClip haben, damit Sie überhaupt per ActionScript darauf zugreifen können. Sie legen den Namen in den erweiterten Symboleigenschaften fest (rechte Maustaste und dort Eigenschaften). Nun aktivieren Sie Export für ActionScript und vergeben den Exportnamen. Alternativ finden Sie den Export auch im Kontextmenü unter Verknüpfung.
Abbildung 14.4 Klicken Sie auf Erweitert (1) und aktivieren Sie den Export für ActionScript.
- Der neue Name ist der Name des neu generierten MovieClips. Mit diesem Namen können Sie per ActionScript auf den MovieClip zugreifen.
- Die Tiefe gibt an, auf welcher ActionScript-Ebene der MovieClip abgelegt wird. Lesen Sie hierzu den zugehörigen Abschnitt aus dem Kapitel 13, »Zeichnen und Zufall«.
Ab Flash MX gibt es als vierten Parameter ein so genanntes Initialisierungsobjekt. Es handelt sich dabei um ein Objekt, das bereits geänderte Eigenschaften und Methoden besitzt, die der MovieClip erhalten soll. Praktisch ist sein Einsatz, wenn Sie mehrere neu erstellte MovieClips mit denselben Einstellungen versehen möchten. In diesem Fall erstellen Sie einfach ein Objekt und weisen es allen neuen MovieClips zu.
Auf der CD-ROM finden Sie das Beispiel mit den Luftblasen mit attachMovie() realisiert. Die Datei trägt den Namen bubble_attachMovie_AS2.fla bzw. bubble_attachMovie_AS1.fla. Den geänderten Part sehen Sie gleich zu Anfang; dort fügen wir den MovieClip für den Mauspfeil zum Hauptfilm hinzu. Der MovieClip wurde vorher mit Export für ActionScript mit einem Namen versehen:
_root.attachMovie("mausPfeil_mc", "mausPfeil_mc", 0);
In unserem Beispiel lautet der Exportname genauso wie der neue Name des MovieClips. Auf diese Weise müssen Sie sich nicht so viele Namen merken.
Im weiteren Verlauf ist der Film unverändert. Alle Anweisungen verwenden den neuen Namen des hinzugefügten MovieClips. Er wird außerdem wie gewohnt mit duplicateMovieClip() dupliziert.
Abbildung 14.5 Luftblasen mit attachMovie() und duplicateMovieClip()
Vielleicht stellen Sie jetzt die Frage: Wieso verwenden wir nach wie vor duplicateMovieClip() und laden nicht mit attachMovie() alle neuen Blasen direkt aus der Bibliothek? Unsere Antwort basiert ein wenig auf Bequemlichkeit: duplicateMovieClip() übernimmt bereits die aktuelle Position des Originals, die neuen, per attachMovie() generierten Blasen müssten wir erst an den Mauskoordinaten positionieren.
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.