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 |
| 5 Einfache Filmsteuerung
|  | 5.1 Einfache Navigation
|  | 5.2 Szenen
|  | 5.3 Auswahl treffen
|  | 5.4 MovieClips
|  | 5.5 Ereignisprozeduren
## 5.5 Ereignisprozeduren Ereignisprozeduren helfen, die Filmsteuerung ein wenig zu vereinfachen. Wie Sie wissen, gibt es in Flash drei Orte, an denen ein Ereignis auftreten kann: bei Schlüsselbildern, Schaltflächen-Symbolen und MovieClips. Für Schlüsselbilder müssen Sie das Ereignis nicht extra schreiben, da es nur das eine Ereignis gibt: »der Abspielkopf betritt das Schlüsselbild«. Bei Schaltflächen und MovieClips ist dagegen mehr Arbeit notwendig: on und onClipEvent kommen zum Einsatz, und Sie benötigen ein Ereignis. Der größte Aufwand ist dabei, in jede Schaltfläche oder jeden MovieClip zu wechseln und dort Code einzugeben. Deswegen hat sich Macromedia eine zentrale Möglichkeit ausgedacht, auf Ereignisse bei einzelnen Elementen zu reagieren: die Ereignisprozeduren. Und so funktioniert es:
Fehlerquelle
Ob Sie eine an anderer Stelle definierte Funktion aufrufen oder direkt in der Ereignisprozedur eine Funktion ohne Funktionsname definieren, macht funktional keinen Unterschied. In der ersten Variante müssen Sie beachten, dass die runden Klammern nach dem Funktionsnamen entfallen. Die zweite Variante führt aber leicht zu Tippfehlern, da hier kein Funktionsname steht und der Funktionsaufruf als Anweisung mit Strichpunkt beendet wird.
1. | Sie greifen auf die Schaltfläche oder den MovieClip zu, die ein Ereignis erhalten sollen. Wenn die Instanz direkt unter dem Hauptfilm liegt, genügt der Instanzname:
>     Instanzname.
2. | Nun folgt das Ereignis. Es setzt sich aus on und dem Ereignisnamen zusammen, beispielsweise onRelease (Ereignisprozedur)onRelease:
>     Instanzname.onRelease
3. | Diesem Ereignis weisen Sie eine Funktion zu, die ausgeführt wird. Beachten Sie, dass die runden Klammern weggelassen werden:
>     Instanzname.onRelease = Funktionsname;
4. | Oftmals wird keine Funktion aufgerufen, sondern direkt eine Funktion ohne Funktionsnamen1 definiert:
>     Instanzname.onRelease = function () {
>        Anweisungen;
>     };
Beachten Sie, dass sich bei Ereignisprozeduren nicht der Ort ändert, an dem das Ereignis auftritt, nur Ihren Code schreiben Sie an eine andere Stelle. Ereignisprozeduren gibt es erst ab Flash MX, also nicht in Flash 5. Hier ist ActionScript 1 eben nicht gleich ActionScript 1. Ein Beispiel zeigt, wie Ihnen Ereignisprozeduren helfen. Öffnen Sie die Datei ereignisprozeduren_AS2.fla aus dem Ordner Flash8 oder FlashMX2004 bzw. auf der CD-ROM. Für Flash MX befindet sich die Datei im Ordner FlashMX und trägt den Namen ereignisprozeduren_AS1.fla. Sie sehen drei MovieClips mit Leuchtdioden. Über drei Schaltflächen sollen die Dioden der Reihe nach eingefärbt werden – mit der aus dem letzten Abschnitt »MovieClips« gezeigten Technik. Die Schaltflächen sind in einen eigenen MovieClip eingefügt und färben von oben nach unten gelb, rot und grün. Hier klicken, um das Bild zu vergrößern Abbildung 5.12 Die Ausgangssituation besteht aus drei Schaltflächen in einem MovieClip und drei Dioden. Stellen Sie sich vor, welchen Aufwand es bedeuten würde, den Code zum Einfärben in die Buttons einzutragen. Da nacheinander drei verschiedene Dioden eingefärbt werden sollen, müssten Sie mit drei Schlüsselbildern arbeiten und drei verschiedene Codes für jeden der Buttons anlegen. Insgesamt bedeutet das, neunmal eine Schaltfläche zu aktivieren und den Code in folgender Form abzulegen:
    on (release) {
       diodeEins_mc.gotoAndStop(2);
    }
Hier klicken, um das Bild zu vergrößern Abbildung 5.13 Der Film in der Übersicht Mit Ereignisprozeduren geht das einfacher: Sie haben drei Schlüsselbilder in der ActionScript-Ebene. Dort steht der Code, der für Schlüsselbild 1 so aussieht:
    stop(); //Film anhalten
    buttonGruppe_mc.gelb_btn.onRelease = function() {
       diodeEins_mc.gotoAndStop(2);
       gotoAndStop(20);
    };
    ...
Zuerst wird der Hauptfilm angehalten. Dann definieren Sie die Ereignisprozedur für die oberste Schaltfläche: Wenn der Nutzer die Maustaste loslässt (onRelease), springt der MovieClip diodeEins_mc auf Bild 2. Dieses Bild enthält die Diode mit gelbem Verlauf, sie ist also gelb eingefärbt. Anschließend geht der Hauptfilm weiter zu Bild 20, wo die zweite Diode gefärbt wird. Analog zu diesem Code sieht auch der Code für die anderen zwei Schaltflächen aus. Hier wird nur der Button-Instanzname von gelb_btn in rot_btn beziehungsweise gruen_btn geändert und der MovieClip für die erste Diode springt auf Bild 3 beziehungsweise 4.
In der Praxis
Ob Sie mit Ereignisprozeduren arbeiten oder nicht, ist Geschmacksache. Gerade bei vielen Schaltflächen und umfangreichen Navigationen verringern sie den Arbeitsaufwand, da der Code an zentraler Stelle gesammelt ist. Deswegen verwenden wir in diesem Buch häufig Ereignisprozeduren. Allerdings müssen Sie ein wenig Vorsicht walten lassen, da Sie bei Ereignisprozeduren schnell übersehen können, wo ein Ereignis auftritt.
Der Code in Schlüsselbild 20 und 40 funktioniert wiederum analog. Allerdings wird jetzt die Diode 2 beziehungsweise 3 umgefärbt. Der MovieClip, in dem navigiert wird, heißt im einen Fall diodeZwei_mc, im anderen diodeDrei_mc. Folgende Zeilen zeigen Ihnen den Code für Schlüsselbild 20 und den gelben Button:
    stop(); //Film anhalten
    buttonGruppe_mc.gelb_btn.onRelease = function() {
       diodeZwei_mc.gotoAndStop(2);
       gotoAndStop(40);
    };
    ...
Die neu definierten Ereignisprozeduren überschreiben die alten, die im Schlüsselbild 1 definiert wurden. Sie sehen daran die Flexibilität von Ereignisprozeduren: Sie können jederzeit eine Prozedur mit einer anderen überschreiben. Damit lässt sich an zentraler Stelle direkt in der Hauptzeitleiste das Verhalten von Schaltflächen und MovieClips steuern. ### 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