[ascoders] Re: AS2 Eventhandling

  • From: Jörg Edelmann <joerg@xxxxxxxxxxxxxx>
  • To: <ascoders@xxxxxxxxxxxxx>
  • Date: Wed, 10 Dec 2003 20:04:30 +0100

Hallo Liste,

2 Fragen von einem Neuling:

1. Kann ich beim dispatchEvent-Aufruf auch noch irgendwie einen
   Parameter übergeben, z.B. ein this?

2. Würde es Sinn machen sich ein Java-like-Eventhandling zusammenzubasteln.
   Also ein gemeinsames Interface für gleiche Listener. Dann eine Klasse,
die
   "abgehört" wird, welche sich durch eine addListener-Methode merkt, wer
denn
   alles informiert werden will (z.B. eine Queue oder ein Array die sich
   Objekte vom Typ des Listener-Interface merken kann). In einer
broadcastMessage
   könnten dann alle registrierten Objekte informiert werden UND ich hätte
durch
   das Interface einen definierten Methodenname UND Parameter...

Macht das Sinn??

Grüße,
--jörg--

-----Ursprüngliche Nachricht-----
Von: ascoders-bounce@xxxxxxxxxxxxx
[mailto:ascoders-bounce@xxxxxxxxxxxxx]Im Auftrag von Florian Krüsch
Gesendet: Donnerstag, 4. Dezember 2003 16:48
An: ascoders@xxxxxxxxxxxxx
Betreff: [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);


Viel Spass damit ;)
Florian
codeazur.com







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

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

Other related posts: