2007-12-06

[FLASH] プルダウンメニュー

プルダウンメニューなどで、Aというムービークリップのマウスオーバーで、
Aの上にBというサブメニューのムービークリップを出す場合、
そのBのマウス処理をrolloverなどで書こうとすると、
Aのマウス処理が優先されて、Bの処理ができません。


そこでonClipEventのmouseMoveを代替として使い、
hitTestでエリアに入ったことを判定します。
onClipEvent(mouseMove) {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
if( ! rollover_flg ){
rollover_flg = true;
//ロールオーバーの処理をここに入れる
}
} else {
//フラグが true の時、ロールアウトと見なす
if( rollover_flg ) {
rollover_flg = false;
//ロールアウトの処理をここに入れる
}
}
}
問題はmouseMoveを使うので、マウスポインタを動かさないで
ムービーがロールオーバーエリアに入った場合に
処理が動かないこと。
AとBのどちらに代替の処理を入れるかで判断するしかないのでしょうか。。

Comment:

Trackback URL: