[ascoders] Re: AS2 Eventhandling

Andre,
es gibt in Flash7 sowohl AsBroadcaster als auch EventDispatcher für das Eventhandling.
Beide kannst Du sowohl mit AS1 als auch AS2 benutzen.
Interfaces bieten keinerlei Funktionalitäten, sondern sie dienen nur der Definition von
Schnittstellen (Stichwort "Design bei Contract"). Einfach mal die Flash-Hilfe aufrufen
und bei den Events nachschlagen. Wenn Du Evendispatcher in AS2 Klassen verwenden
willst, solltest Du folgendermassen vorgehen:


import mx.events.EventDispatcher;

class MyClass {
  // definiere Methoden-"Variablen" für EventDispatcher Mix-In
  public var addEventListener:Function;
  public var removeEventListener:Function;
  private var dispatchEvent:Function;

  // Konstruktor
  public function MyClass() {
     EventDispatcher.initialize(this);
     // Event versenden
     dispatchEvent({type:"init"});
 }
}

Verwendung:
initListener= {
  init:function(eventArgs) {
      // ...
 }
}
MyClass.addEventListener("init",initListener);

Mehr Info findest Du in der Hilfe... ausserdem hilft ein Blick in die mitglieferten
Klassen. EventDispatcher ist nicht besonders schnell, hat aber andere Vorteile
(Events werden bubble-mässig abgearbeitet...)
Für AsBroadcaster funktioniert das in AS2 mit den Mix-In Methoden ganz ähnlich,
nur daß die Methoden anders heissen.


Viel Spass damit ;)
Florian
codeazur.com







------------------------------------------------------
Archiv   : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: