AS3になってから、hitAreaの扱い方がすこし面倒くさくなったなぁ。
設定したhitAreaよりも上のレイヤーにMovieClipが重なると、hitAreaのマウス反応が拒否されて、その瞬間に"MOUSE_OUT"な状態になる。
つまり、MOUSE_OVER時にそのMovieClipボタン内でMovieClipアニメーションをつけたりする場合、そのアニメーションの動きによっては前述のような具合でMOUSE_OVERが解除されてしまう。
てことで、MovieClipボタンが内包しているMovieClipたちに、マウス反応させなきゃいいので
btnMovieClip.mouseChildren = false;
としておけば、純粋に、設定したhitAreaにのみ反応するようになる(要するに内包するMCからのバブリングが一切なくなる)。
...というのをついこないだ突き止めて、AS3触り始めの頃の数案件について、悔しい気分になりました、という話。
"mouseChildren"の存在に気付いてなかったorz

コメントする