Know-how für Kreative

Inhaltsverzeichnis
1 Erste Schritte
2 Versionen
3 Einführung in die Programmierung
4 Die Entwicklungsumgebung
5 Regeln
6 Anweisungen und Aktionen
7 Werte und Datentypen
8 Ausdrücke und Operatoren
9 Funktionen
10 Kontrollstrukturen
11 Dokumenten-Objektmodell und Gültigkeitsbereich (Scope)
12 Ereignisse
13 Objekterstellung
14 Vererbung
15 Movieclips
16 ActionScript 2.0
17 Komponenten
18 Codedesign und Konzeption
19 Flashdetection
20 Aussergewoehnliche Benutzerfuehrung
21 D mit Flash
22 Macromedia Central
23 HTML
24 JavaScript, ActiveX und Java
25 Flash undokumentiert
26 Vergangenheit, Gegenwart und Zukunft
27 Kurzreferenz
28 Buchtipps
29 Links
30 Die CD-ROM zum Buch
Index
Download: - ZIP, ca. 9,8 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Design / <openbook> / ActionScript | vor >>
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/) Objektorientierung und Codedesign mit Flash MX 2004
ActionScript 1 und 2 672 S., mit CD, Referenzkarte, 44,90 Euro Galileo Design ISBN 3-89842-221-6 |
| Kapitel 12 Ereignisse
|  | 12.1 Vor- und Nachteile
|  |  | 12.1.1 Vor- und Nachteile von Ereignisprozeduren
|  |  | 12.1.2 Vor- und Nachteile von Ereignismethoden
|  |  | 12.1.3 Vor- und Nachteile von Ereignismethoden in Flash 5
|  |  | 12.1.4 Vor- und Nachteile von Listener
|  | 12.2 Reihenfolge der Ereignisse
|  |  | 12.2.1 Bildbasierte Ereignisreihenfolge
|  |  | 12.2.2 Bildunabhängige Ereignisreihenfolge
|  |  | 12.2.3 updateAfterEvent
|  |  | 12.2.4 setInterval
|  |  | 12.2.5 initClip
|  |  | 12.2.6 _changed
|  | 12.3 Ereignisprozeduren
|  |  | 12.3.1 Fehlerquelle
|  |  | 12.3.2 on
|  |  | 12.3.3 onClipEvent
|  | 12.4 Ereignismethoden
|  |  | 12.4.1 allowDomain
|  |  | 12.4.2 allowInsecureDomain
|  |  | 12.4.3 onActivity
|  |  | 12.4.4 onChanged
|  |  | 12.4.5 onClose
|  |  | 12.4.6 onConnect
|  |  | 12.4.7 onData
|  |  | 12.4.8 onDragOut
|  |  | 12.4.9 onDragOver
|  |  | 12.4.10 onEnterFrame
|  |  | 12.4.11 onID3
|  |  | 12.4.12 onKeyDown
|  |  | 12.4.13 onKeyUp
|  |  | 12.4.14 onKillFocus
|  |  | 12.4.15 onLoad
|  |  | 12.4.16 onMouseDown
|  |  | 12.4.17 onMouseMove
|  |  | 12.4.18 onMouseUp
|  |  | 12.4.19 onPress
|  |  | 12.4.20 onRelease
|  |  | 12.4.21 onReleaseOutside
|  |  | 12.4.22 onRollOut
|  |  | 12.4.23 onRollOver
|  |  | 12.4.24 onScroller
|  |  | 12.4.25 onSelect
|  |  | 12.4.26 onSetFocus
|  |  | 12.4.27 onSoundComplete
|  |  | 12.4.28 onStatus
|  |  | 12.4.29 onSync
|  |  | 12.4.30 onUnload
|  |  | 12.4.31 onUpdate
|  |  | 12.4.32 onXML
|  | 12.5 Listener
|  |  | 12.5.1 Listener simulieren
|  |  | 12.5.2 AsBroadcaster
|  |  | 12.5.3 onChanged
|  |  | 12.5.4 onKeyDown
|  |  | 12.5.5 onKeyUp
|  |  | 12.5.6 onMouseDown
|  |  | 12.5.7 onMouseMove
|  |  | 12.5.8 onMouseUp
|  |  | 12.5.9 onMouseWheel
|  |  | 12.5.10 onResize (Stage)
|  |  | 12.5.11 onScroller(target)
|  |  | 12.5.12 onSetFocus (Selection)
## 12.3 Ereignisprozeduren ActionScript unterscheidet zwei Arten der Ereignisprozeduren (engl. Eventhandler):
| Zum einen sind das die durch das Schlüsselwort on eingeleiteten Ereignisprozeduren für Schaltflächen (seit Flash MX funktionieren die Schaltflächenereignisse ebenfalls mit Movieclips) und
| zum anderen die mit einem onClipEvent beginnenden Prozeduren für Movieclips.
In der Tabelle »Ereignisprozeduren und unterstützte Flash-Version« finden Sie eine Liste mit allen Ereignisprozeduren, in der auch die vorausgesetzten Flash Player-Versionen angegeben sind. ### 12.3.1 Fehlerquelle Eine beliebte Fehlerquelle ist der Gültigkeitsbereich (engl. scope) der Anweisungen in Ereignisprozeduren. Die Anweisungen in einer Ereignisprozedur beziehen sich bei Schaltflächen auf die Zeitleiste, in der sich die Schaltfläche befindet. Abweichend davon führt Flash die Anweisungen in Ereignisprozeduren von Movieclips bezüglich der Zeitleiste des Movieclips aus (siehe »Gültigkeitsbereich«, Seite 276). Übrigens dürfen Sie im Gegensatz zu den onClipEvent-Anweisungen die Ereignisse bei on auch kombinieren und durch Kommata getrennt hintereinander als Parameter angeben:
    on (press) {
       // Drag…
       this.startDrag();
    }
    on (release, releaseOutside) {
       // …and Drop
       this.stopDrag();
    }

Tabelle 12.2 Ereignisprozeduren und unterstützte Flash-Version

Ereignisprozedur | Schaltfläche | Movieclip
on (dragOut) | seit Flash Player 3 | seit Flash Player 6
on (dragOver) | seit Flash Player 3 | seit Flash Player 6
on (keyPress "taste") | seit Flash Player 4 | seit Flash Player 6
on (press) | seit Flash Player 3 | seit Flash Player 6
on (release) | seit Flash Player 2 | seit Flash Player 6
on (releaseOutside) | seit Flash Player 3 | seit Flash Player 6
on (rollOut) | seit Flash Player 3 | seit Flash Player 6
on (rollOver) | seit Flash Player 3 | seit Flash Player 6
onClipEvent (data) |  | seit Flash Player 5
onClipEvent (enterFrame) |  | seit Flash Player 5
onClipEvent (keyDown) |  | seit Flash Player 5
onClipEvent (keyUp) |  | seit Flash Player 5
onClipEvent (load) |  | seit Flash Player 5
onClipEvent (mouseDown) |  | seit Flash Player 5
onClipEvent (mouseMove) |  | seit Flash Player 5
onClipEvent (mouseUp) |  | seit Flash Player 5
onClipEvent (unload) |  | seit Flash Player 5
### 12.3.2 on Die Anweisung on leitet einen Block in geschweiften Klammern ein, dessen Ausführung von einem als Parameter angegebenen Ereignis abhängt.
| Bemerkung:
| Diese Anweisung steht je nach Ereingis seit dem Flash Player 2 zur Verfügung (siehe obenstehende Tabelle »Ereignisprozeduren«). Diese Anweisung ist auf Schaltflächen- und seit Flash MX ebenfalls auf Movieclip-Instanzen erlaubt. In Schlüsselbildern funktioniert diese Anweisung hingegen nicht.
| Syntax:
>     on (ereignis1, ereignis2, ... ereignisN) {
>        anweisungen;
>     }
| Parameter:
| anweisungen: Innerhalb der geschweiften Klammern geben Sie die Anweisungen an, die beim Eintritt eines der angegebenen Ereignisse ausgeführt werden sollen.
| ereignis1 bis ereignisN: Als Ereignis werden der oder die Auslöser bezeichnet, die zur Ausführung der Anweisungen führen: Wenn eines der angegebenen Ereignisse stattfindet, werden die in geschweiften Klammern stehenden Anweisungen abgearbeitet. Sollten Sie mehr als ein Ereignis angeben wollen, so müssen diese durch Kommata getrennt werden. Die folgenden Werte sind als Ereignis erlaubt:
dragOut: Drücken der Maustaste, während sich der Mauszeiger über der Schaltfläche befindet (aktiver Bereich bzw. hitArea) und anschließendes Hinausziehen des Mauszeigers. dragOver: Während sich der Mauszeiger über dem aktiven Bereich der Schaltfläche (hitArea) befindet, wird die Maustaste gedrückt gehalten, der Mauszeiger aus dem Schaltflächenbereich hinaus- und dann wieder über die Schaltfläche gezogen (siehe Hinweis »Als Menüelement behandeln« auf Seite 298). keyPress ("taste"): Drücken der durch taste angegebenen Taste. Hierbei unterscheidet Flash zwischen Groß- und Kleinschreibung. Leider funktionieren aber Sonderzeichen, insbesondere deutsche Umlaute, zum großen Teil nicht korrekt. In der Tabelle »Erlaubte Funktionstasten für keyPress-Ereignis« sind außerdem sämtliche zusätzlich erlaubten Funktionstasten aufgelistet (siehe auch onKeyDown, onKeyUp (Seite 233) und Key-Objekt).

Tabelle 12.3 Erlaubte Funktionstasten für keyPress-Ereignis

Parameter | Taste
keyPress "<Backspace>" | Rückschritt
keyPress "<Delete>" | (Entf)
keyPress "<Down>" | (Û)
keyPress "<End>" | (Ende)
keyPress "<Enter>" | (¢)
keyPress "<Escape>" | (Esc) (beendet normalerweise den Projektor, weshalb diese Taste nicht immer Sinn macht – im Testmodus innerhalb der Entwicklungsumgebung sollte zum Ausprobieren die Einstellung Steuerung • Tastenkombinationen deaktivieren eingeschaltet sein)
keyPress "<Home>" | (Pos1)
keyPress "<Insert>" | (Einfg)
keyPress "<left>" | (Ï)
keyPress "<PageDown>" | (BildÛ)
keyPress "<PageUp>" | (BildÓ)
keyPress "<Right>" | (Ì)
keyPress "<Space>" | Leer
keyPress "<Tab>" | (ÿ)
keyPress "<Up>" | (Ó)
press: Drücken der Maustaste, während sich der Mauszeiger über dem aktiven Bereich der Schaltfläche (hitArea) befindet. Im Gegensatz zu dem mouseDown-Ereignis erhält nur die eine Instanz die Nachricht über das Ereignis, die mit ihrer aktiven Fläche unmittelbar unterhalb des Mauszeigers liegt (siehe auch mouseDown und Mouse-Objekt). release: Loslassen der Maustaste, während sich der Mauszeiger über dem aktiven Bereich der Schaltfläche (hitArea) befindet (siehe auch mouseUp und Mouse-Objekt). releaseOutside: Loslassen der Maustaste, während sich der Mauszeiger außerhalb der Schaltfläche befindet (funktioniert nur, nachdem die Maustaste gedrückt wurde, während sich der Mauszeiger innerhalb der Schaltfläche befand) (siehe auch mouseUp und Mouse-Objekt). rollOut: Ziehen des Mauszeigers aus dem aktiven Bereich der Schaltfläche (hitArea) hinaus. rollOver: Ziehen des Mauszeigers über den aktiven Bereich der Schaltfläche (hitArea).
| Beispiele:
> ##### on.fla
>     on (press) {
>        trace("press");
>     }
>     on (release) {
>        trace("release");
>     }
>     on (releaseOutside) {
>        trace("releaseOutside");
>     }
>     on (keyPress "<Enter>") {
>        trace("Eingabetaste");
>     }
>     on (rollOver) {
>        trace("rollOver");
>     }
>     on (rollOut) {
>        trace("rollOut");
>     }
>     on (dragOver) {
>        trace("dragOver");
>     }
>     on (dragOut) {
>        trace("dragOut");
>     }
##### Als Menüelement behandeln Einige Ereignisse verhalten sich anders, sobald eine Instanz als Menüelement behandelt wird. Diese Einstellung nehmen Sie für jede Instanz einzeln entweder im Eigenschafteninspektor (bei Schaltflächen) oder über die Eigenschaft trackAsMenu (bei Buttons und Movieclips) vor. Insbesondere das Ereignis dragOver macht erst in dieser Kombination wirklich Sinn! Sobald nämlich eine Instanz als Menüelement agiert, muss die Ereignisfolge nicht mehr auf der Instanz mit einem Drücken der Maustaste gestartet werden. D. h. Flash löst dragOver auch aus, wenn Sie die Maustaste irgendwo drücken und dann auf die Instanz ziehen. ### 12.3.3 onClipEvent Die Anweisung onClipEvent leitet einen Block in geschweiften Klammern ein, dessen Ausführung von einem als Parameter angegebenen Ereignis abhängt.
| Bemerkung:
| Diese Anweisung steht seit dem Flash Player 5 zur Verfügung (siehe Tabelle »Ereignisprozeduren« auf Seite 295). Diese Anweisung ist nur auf Movieclip-Instanzen und nicht auf Schaltflächeninstanzen oder in Schlüsselbildern erlaubt.
| Syntax:
>     onClipEvent (ereignis) {
>        anweisung(en);
>     }
| Parameter:
| anweisung(en): Innerhalb der geschweiften Klammern geben Sie die Anweisungen an, die beim Eintritt eines der angegebenen Ereignisse ausgeführt werden sollen.
| ereignis: Als Ereignis wird der Auslöser bezeichnet, der zur Ausführung der Anweisungen führt: Wenn das angegebene Ereignis stattfindet, werden die in geschweiften Klammern stehenden Anweisungen abgearbeitet. Die folgenden Werte sind als Ereignis erlaubt:
data: Dieses Ereignis wird ausgelöst, wenn Flash durch loadVariables oder loadMovie Daten empfängt. Bei loadVariables tritt das Ereignis einmalig auf, sobald die letzte Variable geladen wurde. Bei loadMovie wird dieses Ereignis während des Ladens mehrmalig beim Empfang der einzelnen Datenpakte ausgelöst. enterFrame: Dieses Ereignis löst eine Flash-Anwendung kontinuierlich in der Geschwindigkeit der Bildrate aus. keyDown: Dieses Ereignis löst Flash immer dann aus, wenn eine Taste gedrückt wird. Mit Hilfe des Key-Objektes ermitteln Sie anschließend, welche Tasten gedrückt sind (siehe auch Key-Objekt). keyUp: Dieses Ereignis tritt beim Loslassen einer Taste ein (siehe auch Key-Objekt). load: Sobald die Movieclip-Instanz in der Zeitleiste erscheint, wird dieses Ereignis ausgelöst. unload: Dieses Ereignis wird im ersten Bild ausgeführt, nachdem die Movieclip-Instanz aus der Zeitleiste entfernt wurde. Erst nachdem die mit dem Movieclip-Ereignis unload verknüpften Anweisungen verarbeitet sind, führt Flash die im betreffenden Bild befindlichen Anweisungen aus. Da die bezüglich des Ereignisses definierte Movieclip-Instanz in diesem Moment nicht mehr existiert, sollten Operationen auf diese vermieden werden. Andernfalls kann es zu unvorhergesehenen Effekten bis hin zum Absturz der Anwendung kommen. mouseMove: Dieses Ereignis wird bei jeder Bewegung der Maus ausgelöst (siehe auch Mouse-Objekt). mouseDown: Das Drücken der Maustaste löst dieses Ereignis aus. Dabei ist es im Gegensatz zu dem press-Ereignis der on-Anweisung egal, wo sich die Maus befindet. mouseUp: Das Loslassen der Maustaste erzeugt dieses Ereignis. Dabei ist es im Gegensatz zu dem release-Ereignis der on-Anweisung egal, wo sich die Maus befindet.
| Beispiele:
> ##### onClipEvent.fla
>     onClipEvent (load) {
>        trace("load");
>     }
>     onClipEvent (enterFrame) {
>        trace("enterFrame");
>     }
>     onClipEvent (unload) {
>        trace("unload"); // erfordert das Entfernen der Instanz
>     }
>     onClipEvent (mouseDown) {
>        trace("mouseDown");
>     }
>     onClipEvent (mouseUp) {
>        trace("mouseUp");
>     }
>     onClipEvent (mouseMove) {
>        trace("mouseMove");
>     }
>     onClipEvent (keyDown) {
>        trace("keyDown");
>     }
>     onClipEvent (keyUp) {
>        trace("keyUp");
>     }
>     onClipEvent (data) {
>        trace("data"); // erfordert ein loadMovie oder loadVariables
>     }
##### Benutzerereignis versus Systemereignisse Einige Ereignisse sind benutzerunabhängig wie z.B. enterFrame. Andere hängen von Aktionen des Benutzers ab. Dazu zählt mouseMove. Nicht immer ist das nächstliegende Ereignis auch das beste. Möchten Sie zum Beispiel ein Objekt abhängig von der Mausbewegung steuern, dann sollten Sie in den meisten Fällen das Ereignis enterFrame dem mouseMove vorziehen. Dies liegt daran, dass Flash die Bewegung der Maus unabhängig von der Bildrate ermittelt und so deutlich mehr Systemressourcen benötigt, obwohl die Position doch nur beim Bildwechsel interessiert (dazwischen wird die Darstellung normalerweise ohnehin nicht aktualisiert). Sobald die Bildrate der Anwendung jedoch sehr gering ist, kann die Kombination eines Benutzerereignisses mit der Funktion updateAfter Event wiederum Vorteile bieten (siehe updateAfterEvent, Seite 291).
<< zurück | <top> | vor >>
Zum Katalog
ActionScript 1 und 2 bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Einstieg in ActionScript
| Einstieg in Flash 8
| Flash 8 und PHP
| Flash 8-Tutorials
| Dreamweaver 8
| Webseiten programmieren und gestalten
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press GmbH 2005
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 GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de