Alle Aktionen kann man entweder in einem Schlüssebild (keyframe) oder einer Schaltfläche (button) oder ab Flash 5 auch einer Filmsequenz (movieclip) zuweisen. Bei Schaltflächen besteht außerdem die Möglichkeit die Aktion einer Taste zuzuweisen. Dazu später mehr. Um eine Aktion zuzuweisen kickt man das gewünschte (Schlüsselbild, Schaltfläche oder Filmsequenz) an und ruft mit rechter Maustaste das Bedienfeld Aktionen auf. Ab Flash MX2004 kann man anstatt des Aktionenfensters auch das Verhalten Fenster nutzen, um Aktionen zuzuweisen. Dort wählt man die Actions durch Anklicken des Pluszeichens. Das Actionsscript erscheint dann wie auch in früheren Versionen im Aktionen-Bedienfeld.
Dort sind links mehrere Ordner, in denen alle Aktionen aufgelistet sind. Durch Doppelklick auf eine Aktion wird sie zugewiesen und erscheint rechts. Man kann dort weitere Eingaben machen. In den Versionen unter Flash MX 2004 kann man im Actionenfenster zwischen Normal und Expertenmodus umschalten. Im Normalmodus wird das Aktionenfenster um eine Art Editor erweitert, wo man verschiedene Parameter der Aktion auswählen kann (Flash5 unterhalb, Flash MX oberhalb des Aktionenbedienfeldes) Weist man einer Filmsequenz oder einer Schaltfläche eine Aktion zu, wird automatisch ein Event Handler (Ereignis Behandler) zugewiesen z.B. on (release) Klickt man rechts darauf, kann man sich unten/oben einen oder mehrere andere Event Handler auswählen. Sie bestimmen auf welches Ereignis die Aktion stattfinden soll. z.B. auf Mausklick oder Maus over. Bei Schaltflächen besteht die Möglichkeit hier eine Taste zu bestimmen. Dazu wählt man Tastendruck, setzt den Cursor in das Eingabefeld daneben und klickt die gewünschte Taste.
Man kann das Script mit Strg C kopieren und Strg V einfügen. So kann man beispielsweise auch die Action Scripte aus meinen Flash swf Beispieltips von der Webseite aus kopieren und im eigenen Action Bedienfeld einfügen.
Bild 1 in der Zeitleiste hat hier die Aktion stop() zugewiesen bekommen, denn sonst würde der Film einfach weiterlaufen. Man klickt in der Zeitleiste das Schlüsselbild an und wählt dann im Bedienfeld Aktionen die Aktion Stop durch Doppelklick oder Anklicken des + Zeichens links oben. Einen Event Handler gibt es bei Schlüsselbildern nicht. Die Aktion wird ausgeführt sobald das Bild erreicht ist. Dabei werden die Aktionen von oben nach unten (wie sie im Aktionenbedienfeld aufgeführt sind) nacheinander ausgeführt.
Will man eine Aktion wieder löschen, wählt man die Aktion aus und klickt im Bedienfeld Aktion das - Zeichen oder die Entf Taste auf der Tastatur.
Der Button hat hier die Aktion gotoAndPlay anstatt gotoAndStop Dazu setzt man im Bedienfeld Aktionen unten einen Haken vor "Gehe zu und abspielen", nachdem man die Aktion Go to ausgewählt hat.
In Flash MX2004 wählt man im Verhaltenfenster die gewünschte Aktion durch klicken auf das Pluszeichen, (Movieclip/Ansteuern und Abspielen bei Bild oder Bezeichnung). Anschließend kann man im Verhalten Fenster aus dem drop Down-Menue auch einen anderen Event Hanlder auswählen z.B.: beim Drücken
Im Schlüsselbild 10 wurde die Aktion Go to and play 5 ausgewählt, so daß er Film in einer Schleife zwischen Frame5 und Frame 10 abläuft.
Die Filmsequenz hat im ersten Bild die Aktion Stop und ab dem nächsten Bild dreht sie sich mittels Tweenig in einer Schleife. Im letzten Bild hat sie die Aktion gotoAndPlay zu Bild 2. Klicken Sie dazu die Filmsequenz mit rechter Maustaste an und wählen Sie Bearbeiten (sofern Sie hier die fla Datei vorliegen haben). Zurück zum Hauptfilm geht es wieder mit Bearbeiten / Film bearbeiten.
Hier wurde die Aktion der Filmsequenz zugewiesen. Hierzu klickt man einfach die Filmsequenz an, und wählt die gewünschte Aktion im Bedienfeld Aktionen aus. Standardmäßig wird der Event Handler onLoad vergeben, daß bedeutet, die Aktion läuft ab, sobald die Filmsequenz geladen ist. Ein anderer häufig benutzter Event Handler onEnterFrame bedeutet, daß die Aktion bei jedem Bild der Zeitleiste abläuft, das geschieht auch dann wenn die Zeitleiste angehalten wird, also mit anderen Worten die Aktionen laufen in der eingestellten Bildrate des Flashfilms ab.
Hier gibt es noch die Besonderheit this.play das bedeutet, die Aktion, welche ja der Filmsequenz zugewiesen wurde, bezieht sich nicht auf den Hauptfilm sondern auf sich selber. Dadurch spielt die Filmsequenz die eigene Zeitleiste ab, sobald die Maus gedrückt wird und hält sie an, sobald die Maus losgelassen wird.
Mehr dazu und wie man andere Filmsequenzen ansteuert, wird in meinem Tip Ebenen ansteuern erklärt.
Den Eventhandler Doppelklick gibt es nicht, von daher muß man sich eines Tricks bedienen. Betrachten wir dazu die Zeitleiste. Im ersten Bild ist ein Stop eingefügt und eine Schaltfläche, mit der Aktion gotoAndPlay (2). Im zweiten und in den paar folgenden Bildern ist die gleiche Schaltfläche mit anderer Aktion. Hier kann man jede beliebige Aktion einfügen, welche auf doppelklick ausgeführt werden soll. In diesem Fall gotoAndPlay ("Aktion"); Also die Zeitleiste springt zum Bild namens Aktion und läuft von dort aus weiter. Ruft man diese "doppelklick" Aktion jedoch nicht auf läuft die Zeitleiste weiter bis Bild 8 wo sie den Befehl bekommt, auf Bild 1 zu stoppen.
So wird die Aktion nur aufgerufen wenn man zweimal hintereinander klickt, klickt man das zweite mal nicht, ist die Schaltfläche mit der "doppelklick" Aktion wieder verschwunden, da wir uns wieder auf Bild 1 befinden.
Weitere Spitzfindigkeiten in Sachen Zeitleiste findet man im Tip Zeitleiste rückwärts.
Ab Flash MX 2004 gibt es im Action Bedienfeld keine Unterscheidung mehr zwischen Normal- und Expertenmodus. Stattdessen erscheint ein Flyout Menue, aus dem man sich die entsprechenden Befehle raussuchen kann. Will man beispielsweise einem Button einen Befehl zuweisen, sollte man zuerst den Event Handler einfügen, er befindet sich im Ordner Globale Funktionen / Movieclip Steuerung / on
die Event Handler für MCs befinden sich unter Globale Funktionen / Movieclip Steuerung / onClipEvent
In der Hilfe von Flash MX 2004 wird die Schreibweise bevorzugt, alle Actions im ersten Schlüsselbild abzulegen und die Buttons und MCs per Instanznamen anzusprechen. Dazu muss man diesen Instanzen im Eigenschaftsfenster zuerst Instanznamen vergeben. Fügt man am Ende entsprechende suffixe an, werden die passenden Codehinweise im Actionbedienfeld angzeigt.
Movieclips sollten das Suffix _mc bekommen z.B. meinAuto_mc
Schaltflächen das Suffix _btn, z.B. onButton_btn
und Textfelder das Suffix _txt, z.B. meinText_txt
Vergleiche folgende Beispiele und Schreibweisen:
this.gruenMC_mc.onEnterFrame = function() {
this._x=this._x+2;
}
onClipEvent (enterFrame) {
_x=_x+2;
}
on (release) {
gotoAndPlay(2);
}
this.onButton_btn.onRelease = function(){
gotoAndPlay(2);
}