Wenn man sich nicht kennt hört man nicht aufeinander, ist wie im richtigen Leben
Von daher musst du schon eine Referenz übergeben entweder im Konstruktor oder in einer separaten Funktion. Letzeres ist flexibler, da kannst du dann mehrere Objekte den Event auslösen lassen.
PHP-Code:
package classes
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.display.*;
public class Hoerer extends MovieClip
{
public function Hoerer()
{
}
public function addDispatcher( disp:EventDispatcher):void
{
disp.addEventListener(Events.STARTE, startByEvent);
}
private function startByEvent(e:Events):void
{
trace("startByEvent - Dispatcher: " + e.currentTarget);
}
}
}
PHP-Code:
import classes.Hoerer;
import classes.Ausloeser;
import flash.events.*;
import flash.events.EventDispatcher;
var meinHoerer:Hoerer = new Hoerer();
var meinAusloeser:Ausloeser = new Ausloeser();
meinHoerer.addDispatcher( meinAusloeser);
//Beispiel für zweiten Ausloeser
var meinZweiterAuslöser:Ausloeser = new Ausloeser();
meinHoerer.addDispatcher( meinZweiterAusloeser);
Die Klasse Ausloeser darf allerdings das Event nicht im Konstruktor dispatchen, da es sonst dispatcht wird bevor man dem Objekt einen Listener geben kann.