メインのClientクラスで別のクラスButtonPaneのインスタンスを作って、そのsetupメソッドにthisを渡し、そのなかでthisにaddEventListenerした場合に、なぜかメインのクラスではなくButtonPane、というように見える不可解なバグに遭遇した。きっと今日はもう疲れているのだと思うので続きは明日。

package {
...
  public class Client extends Sprite {
...
    public function Client() {
...
      var b:ButtonPane = new ButtonPane();
      b.setup(this);
    }
...
  }
}

...
class ButtonPane extends Sprite{
...  
  public function setup(target:Sprite):void{
...
    target.addEventListener(MouseEvent.MOUSE_OVER, mouseOver);
    target.addEventListener(MouseEvent.MOUSE_OUT, mouseOut);
    target.addEventListener(MouseEvent.MOUSE_DOWN, mouseOver);
    target.addEventListener(Event.ENTER_FRAME, run);
    target.addChild(this);
...
  }
...
}