Mac での MouseEvent.MOUSE_WHEEL

マウスホイールを回してもイベントが発生しないのが問題なんだと思っていたのだが、どうやら自分で MOUSE_WHEEL イベントを発生させてもうまく動作しないっぽい。嘘でした。ちゃんと動作しました。

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init();">
  <mx:Label id="counter" text="0" />

  <mx:Script>
    <![CDATA[
    import flash.external.*;
		
    private var counts : int = 0;
    public function genScrollEvent(delta : int) : void {
      var e : MouseEvent = new MouseEvent(MouseEvent.MOUSE_WHEEL);
      e.delta = delta;
      this.dispatchEvent(e);
    }
    public function setCounts(e : MouseEvent) : void {
      this.counts += e.delta;
      this.counter.text = this.counts.toString(); 
    }
    public function init() : void {
      ExternalInterface.addCallback("genScrollEvent", genScrollEvent);
      this.addEventListener(MouseEvent.MOUSE_WHEEL, setCounts);
    }
    ]]>
  </mx:Script>
</mx:Application>