Details: Ereignisverarbeitung, Skriptverortung

Damit einem Ereignis eine Aktion folgt, ist eine so genannte Ereignisprozedur erforderlich. Das ist ein mit einem bestimmten Objekt und Ereignis verknüpften ActionScript-Code. Wenn der Benutzer beispielsweise auf eine Schaltfläche auf der Bühne klickt, soll der Abspielkopf zum Bild 2 springen.

Es gibt nun drei unterschiedliche Möglichkeiten, wie man mit Skripts auf Ereignisse reagieren kann:
  • Eventhandler oder Ereignisprozeduren
  • Ereignisprozedurmethoden
  • Listener
Wir werden in diesem Beispiel in erster Linie mit Ereignisprozedurmethoden arbeiten, da diese gewisse Vorteile mit sich bringen betreffend der Organisation von Skripts.

Ereignisprozeduren:
Die Verwendung von sogenannten Ereignisprozeduren erfolgt mit Skripts, die auf den Instanzen direkt angebracht sind.
In unserer Übung wären dann direkt auf den einzelnen Buttons die jeweiligen Skripts für das Klicken zu finden und hätten folgenden Aufbau (z.B. wenn der Abspielkopf beim Klick auf Frame 2 springen soll):

on (press) {
gotoAndStop(2);
}


Jedoch schon bei kleineren Projekten verschlechtert sich dadurch, daß die Skripts im ganzen Flash Movie verstreut sind, die Lesbarkeit des Codes erheblich und das Suchen von Codeelementen wird zu einer langwierigen Prozedur. Daher wird von Adobe empfohlen, mit Ereignisprozedurmethoden zu arbeiten und so gut wie möglich aus einem zentralen Script heraus die einzelnen Elemente anzusprechen. Generell hat es sich eingebürgert, eine eigene Ebene mit der Bezeichung "Actions" zu erstellen und in den ersten Frames hier die zenralen Skripts anzubringen.


Ereignisprozedurmethoden:

Ereignisprozedurmethoden funktionieren folgendermaßen:
Wenn das Ereignis Press eintritt, der User also auf den Button klickt, dann wird die zugehörige Ereignisprozedur aufgerufen. Damit die Anwendung auf das Ereignis reagieren kann, definiert man mit der Funktionsanweisung eine Funktion und weist diese dann der entsprechenden Ereignisprozedur zu.

Die Ereignisprozedurmethode hat exemplarisch folgenden Aufbau:

pfad.instanzenname.onPress = function () {
gotoAndStop(2);
}



Listener:
Sogenannte Listener sind erst dann notwendig, wenn man nicht nur mit den vordefinierten Objekten wie Buttons oder Movieclips arbeitet, sondern selbst definierte Objekte haben.