15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verarbeiten von Ereignissen<br />

Verwalten von Ereignis-Listenern<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Sie können Listener-Funktionen mithilfe der Methoden der IEventDispatcher-Schnittstelle verwalten. Die<br />

IEventDispatcher-Schnittstelle ist die ActionScript 3.0-Variante der EventTarget-Schnittstelle des DOM-<br />

Ereignismodells. Obwohl der Name „IEventDispatcher“ darauf hinzuweisen scheint, dass der Hauptzweck dieser<br />

Schnittstelle das Senden von Ereignisobjekten ist, werden die Methoden dieser Klasse in Wahrheit wesentlich häufiger<br />

zum Registrieren, Überprüfen und Entfernen von Ereignis-Listenern eingesetzt. Die IEventDispatcher-Schnittstelle<br />

definiert fünf Methoden, die im folgenden Codebeispiel dargestellt sind:<br />

package flash.events<br />

{<br />

public interface IEventDispatcher<br />

{<br />

function addEventListener(eventName:String,<br />

listener:Object,<br />

useCapture:Boolean=false,<br />

priority:Integer=0,<br />

useWeakReference:Boolean=false):Boolean;<br />

}<br />

}<br />

function removeEventListener(eventName:String,<br />

listener:Object,<br />

useCapture:Boolean=false):Boolean;<br />

function dispatchEvent(eventObject:Event):Boolean;<br />

function hasEventListener(eventName:String):Boolean;<br />

function willTrigger(eventName:String):Boolean;<br />

Die Flash Player-API implementiert die IEventDispatcher-Schnittstelle mithilfe der EventDispatcher-Klasse. Diese<br />

dient als Basisklasse für alle Klassen, die ein Ereignisziel oder Teil des Ereignisablaufs sein können. Beispielsweise erbt<br />

die DisplayObject-Klasse von der EventDispatcher-Klasse. Das bedeutet, dass alle Objekte in der Anzeigeliste Zugriff<br />

auf die Methoden der IEventDispatcher-Schnittstelle haben.<br />

Hinzufügen von Ereignis-Listenern<br />

Die addEventListener()-Methode ist die wichtigste Methode der IEventDispatcher-Schnittstelle. Sie setzen sie ein,<br />

um Listener-Funktionen zu registrieren. Die beiden erforderlichen Parameter sind type und listener. Verwenden<br />

Sie den Parameter type, um den Ereignistyp anzugeben. Mit dem Parameter listener geben Sie die Listener-<br />

Funktion an, die beim Auftreten eines Ereignisses ausgeführt wird. Der Parameter listener kann ein Verweis auf<br />

eine Funktion oder eine Klassenmethode sein.<br />

Verwenden Sie keine Klammer, wenn Sie den listener-Parameter spezifizieren. Beim folgenden Aufruf der<br />

addEventListener()-Methode wird die clickHandler()-Funktion beispielsweise ohne Klammern angegeben:<br />

addEventListener(MouseEvent.CLICK, clickHandler)<br />

Mit dem Parameter useCapture der addEventListener()-Methode können Sie die Ereignisablaufphase festlegen,<br />

in der der Listener aktiv ist. Wenn useCapture den Wert true hat, ist der Listener während der Empfangsphase des<br />

Ereignisablaufs aktiv. Wenn useCapture den Wert false hat, ist der Listener während der Zielphase und der<br />

Aufstiegsphase des Ereignisablaufs aktiv. Damit in allen Phasen des Ereignisablaufs auf das Ereignis gewartet wird,<br />

müssen Sie addEventListener() zweimal aufrufen: einmal mit useCapture für den Werttrue und einmal<br />

mituseCapture für den Wert false.<br />

Letzte Aktualisierung 27.6.2012<br />

148

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!