DisplayObject
我需要一个位于层次结构顶部的事件重新调度程序。
public class Main extends MovieClip { // Document Class at Flash
private var objectA:ClassA;
private var objectB:ClassB;
public function Main() {
objectA = new ClassA();
addChild(objectA);
objectB = new ClassB();
addChild(objectB);
}
}
public class ClassA extends Sprite {
public function ClassA() {
addChild(new Bitmap(new BitmapData(20, 20, false, 0))); // A black square
addEventListener(MouseEvent.CLICK, clickedA);
}
public function clickedA(evt:MouseEvent):void {
dispatchEvent(new TextEvent("myEventType", true, false, "success"));
}
}
public class ClassB extends Sprite {
public function ClassB() {
addEventListener("myEventType", myFunction);
}
public function myFunction(evt:TextEvent):void {
trace(evt.text);
var color:uint = evt.text == "success" ? 0x00FF00 : 0xFF0000;
addChild(new Bitmap(new BitmapData(20, 20, false, color)));
}
}
myFunction
应该通过Main
.
我必须实施什么才能Main
使其充当从孩子到其他孩子的调度事件的中继?
考虑它可以有许多孩子作为调度员和接收者/听众。换句话说,它必须是通用的,所以我不必为每种情况实施一个中继。