2.2 Was lässt sich mit ActionScript steuern?
Auf diese Frage gibt es eigentlich nur eine Antwort: so gut wie alles. Die Liste ist entsprechend lang und hier nicht einmal vollständig. Mit ActionScript lassen sich steuern:
- MovieClips
- Schaltflächen
- Textfelder (siehe Kapitel 8, »Textfelder«)
- Komponenten (siehe Kapitel 20, »Formulare und UI-Komponenten«)
SWF-Interna |
Im SWF-Film sind Schaltflächen, Textfelder, Komponenten, der Hauptfilm und viele andere Elemente eigentlich auch MovieClips, nur eben MovieClips mit besonderen Fähigkeiten. Dies merken Sie bei Ihrer Arbeit beispielsweise daran, dass Schaltflächen ähnliche Steuermöglichkeiten besitzen wie MovieClips. Gleichermaßen können MovieClips auch Schaltflächen-Zustände annehmen. |
- Eigenschaften des Flash-Films (siehe Kapitel 5, »Einfache Filmsteuerung«)
- Die Kommunikation nach außen (siehe Kapitel 22, »Formulare versenden«, und Kapitel 24, »XML«)
Ein Blick auf die Liste zeigt, dass Sie einige Elemente, die sich mit ActionScript steuern lassen, erst in späteren Kapiteln kennen lernen werden. Die zwei wichtigsten Elemente, die als Grundlage fast jeden Beispiels dienen, treffen Sie allerdings schon in diesem Kapitel: MovieClip- und Schaltflächen-Symbole.
Sie müssen auf MovieClips und Schaltflächen zugreifen, um sie zu verändern oder um Ereignisprozeduren aufzurufen. Wie das geht, verraten die nächsten Abschnitte.
Zugriff auf MovieClips
Um auf einen MovieClip mit ActionScript zugreifen zu können, benötigt der Clip einen Instanznamen. Diesen Namen vergeben Sie im Eigenschafteninspektor. Die Endung _mc am Instanznamen hilft, später im Aktionen-Bedienfeld Codehinweise zu erhalten.
Abbildung 2.3 Der Instanzname (1) ist der Schlüssel zum Zugriff auf einen MovieClip.
Ein MovieClip mit Instanznamen ist aus ActionScript-Sicht ein Objekt – also ein Element, mit dem programmiert werden kann (mehr dazu in Kapitel 4, »Grundlagen der Programmierung«). Um auf einen MovieClip mit Instanznamen zuzugreifen, müssen Sie den MovieClip richtig adressieren. Das Ziel ist der MovieClip selbst. Er ist im Film immer an einer bestimmten Stelle aufgehängt: direkt unter dem Hauptfilm oder unter einem anderen MovieClip. Neben dem Ziel sollten Sie den Ort kennen, an dem sich Ihr Code befindet. Liegt er in einem anderen MovieClip oder vielleicht im ersten Schlüsselbild des Hauptfilms? Die Antwort auf diese Frage und das Ziel bilden zusammen die Adresse.
Abbildung 2.4 Die MovieClip-Hierarchie geht von der Hauptzeitleiste aus. Alle anderen MovieClips sind darunter angeordnet.
Das Aktionen-Bedienfeld bietet Ihnen zum korrekten Adressieren den Zielpfad-Editor. Sie finden das zugehörige Symbol in der Leiste über dem Skriptbereich.
Abbildung 2.5 Mit diesem Symbol rufen Sie den Zielpfad-Editor auf.
Der Zielpfad-Editor zeigt die MovieClips des Films. Der oberste MovieClip ist der Hauptfilm, er trägt den Namen _root. In der nächsten Ebene folgen alle MovieClips, die direkt unter dem Hauptfilm aufgehängt sind. Wenn Sie auf das Plus-Symbol klicken, sehen Sie sämtliche MovieClips, die unter einem anderen MovieClip angeordnet sind.
MovieClip:
Testen Sie das hier Gelesene: Erstellen Sie selbst eine neue Datei mit MovieClips. Fügen Sie MovieClips unter bestehende MovieClips hinzu. Das von uns verwendete Beispiel finden Sie unter dem Namen tastensteuerung.fla auf der CD-ROM und in Kapitel 9, »Tasten«.
Abbildung 2.6 Zuerst klappen Sie die hierarchischen MovieClips aus, dann klicken Sie einen an, um die Adresse für diesen MovieClip im oberen Feld zu erhalten.
MovieClips bilden also eine Hierarchie, im Zielpfad-Editor dargestellt als Baum. Sie können auf jeden beliebigen MovieClip in der Hierarchie verweisen. Verweise erfolgen entweder Relativ oder Absolut. Relativ bedeutet: relativ zum Ausgangsort, an dem der Code steht.
Nehmen wir die Hierarchie aus Abbildung 2.6 als Beispiel: Sie wollen auf den MovieClip last_mc zugreifen. Ausgangspunkt ist das erste Schlüsselbild des Hauptfilms, von dort haben Sie den Zielpfad-Editor aufgerufen. In diesem Fall sieht die relative Adresse so aus:
MovieClip-Hierarchie |
Bei komplexeren Beispielen finden Sie in diesem Buch eine Übersichtsgrafik der eingesetzten MovieClips und Schaltflächen. Eine ähnliche Übersicht über Ihren Film erhalten Sie auch im Film-Explorer (Fenster • Film-Explorer oder + ). |
this.kran_mc.schlitten_mc.last_mc
Das Schlüsselwort this steht für den MovieClip, in dem Sie sich gerade befinden. Sie können this auch weglassen:
kran_mc.schlitten_mc.last_mc
Wenn Sie den Ausgangspunkt ändern, indem Sie beispielsweise in den MovieClip seil_mc wechseln, der auf der gleichen Hierarchie-Ebene wie last_mc liegt, dann ändert sich die relative Adressierung komplett:
this._parent.last_mc
Links |
Ist Ihnen etwas aufgefallen? Die relative und die absolute Adressierung gleichen verdächtig der Verlinkung in HTML. Nur dass dort Ordner auf der Festplatte adressiert werden und manche Schlüsselbegriffe anders sind. |
Von seil_mc wechseln Sie eine Hierarchie-Ebene nach oben. Dazu dient das Schlüsselwort _parent; es steht für das englische Wort Elternteil. Gemeint ist damit der jeweils übergeordnete MovieClip. Und da die hierarchische Anordnung der MovieClips mit einem Stammbaum vergleichbar ist, erschien die Bezeichnung parent naheliegend. Von der höher gelegenen Hierarchie-Ebene greifen Sie direkt auf last_mc zu.
Die absolute Adressierung benötigt keinen Ausgangspunkt und wird vom Hauptfilm (_root) aus angegeben (siehe Abbildung 2.6).
Auf last_mc im Beispiel greifen Sie folgendermaßen zu:
_root.kran_mc.schlitten_mc.last_mc
_root steht dabei für den Hauptfilm. Root kommt aus dem Englischen und bedeutet Wurzel; der Hauptfilm ist sozusagen das Wurzelelement, wenn Sie sich die hierarchische Struktur des Films als Baum visualisiert vorstellen.
Die absolute Adressierung ist praktischer und recht einfach, da Sie sich nicht um den Ausgangspunkt, an dem sich der Code befindet, kümmern müssen. Jeder MovieClip hat, ausgehend von der Hauptzeitleiste (_root) eine eindeutige Adresse.
Abbildung 2.7 Der absolute Zugriff auf die MovieClips erfolgt mit ihrer eindeutigen Adresse.
Die relative Adressierung ist dagegen umständlicher: Sie müssen immer wissen, welcher MovieClip die Ausgangssituation ist. Abbildung 2.8 zeigt den relativen Zugriff von oben nach unten (links) und unten nach oben (rechts).
Ereignisprozeduren |
Für Ereignisprozeduren müssen Sie einen MovieClip oder eine Schaltfläche korrekt adressieren. Nach der Adresse folgt das Ereignis. Wenn Sie relativ adressieren, ist wichtig, wo Sie die Ereignisprozedur einsetzen. Im Allgemeinen kommen Ereignisprozeduren in einem Schlüsselbild des Hauptfilms zum Einsatz. |
Abbildung 2.8 Relativ von oben nach unten (links) und unten nach oben (rechts). Ausgangspunkt ist jeweils der MovieClip, von dem der Pfeil startet.
Warum sollten Sie dann nicht immer absolute Adressierung wählen, wenn sie doch einfacher ist. Dafür gibt es einen Grund: Wenn Sie den Film in einen anderen Film hineinladen (siehe Kapitel 18, »Externe Filme«), ist die Zeitleiste des Films nicht mehr die Hauptzeitleiste und alle Adressierungen schlagen fehl. Eines sei allerdings auch schon verraten: In Flash 8 können Sie dem entgegenwirken. Aber auch das lesen Sie später in Kapitel 19.
Zugriff auf Schaltflächen
Der Zugriff auf Schaltflächen erfolgt exakt so wie der Zugriff auf MovieClips; auch hier können Sie den Zielpfad-Editor einsetzen. Die Adressierung funktioniert ebenfalls gleich wie bei MovieClips.
Abbildung 2.9 Schaltflächen adressieren Sie am schnellsten über den Zielpfad-Editor.
Übrigens, wenn eine Instanz noch keinen Instanznamen besitzt, erscheint sie trotzdem im Zielpfad-Editor. Wenn Sie die Instanz anklicken, werden Sie nach einem Namen gefragt und können mit einem Klick auf Umbenennen jetzt einen angeben.
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.