[8]つい先日部門の方針説明会のため、福井へ出張してました。普段は東京と福井で離れて仕事をしていたり、異動などで新しいメンバーが増えたり、といった具合なので、年に一度全員が集まって交流を図れるというのは良いことです。ワールドカフェやライトニングトークなど盛りだくさんのイベントで有意義な1日となりました。中でも、LTで3分間クッキングは新しい試み!!、っていうか話(Talk)なのか?!という素朴な疑問を微塵も感じさせないメッセージが十分に伝わってきて最高でした。皆さんの職場では社員間の交流をどのように図っていますか?さて前回[*1]はスクロール処理とアニメーション効果を付けてみました。今回のメルマガでは、マウスイベントを取得する手順を整理します。皆さんはマウスをどうやって使いますか?普通は机の上で動かして、マウスポインターを上下左右移動したり、ボタンをクリックしてアクションする、ボタンと移動を組み合わせてドラッグ&ドロップする、といったことだと思います。ストレスが溜まってくると、思わずマウスに・・・なんてこともあるかもしれませぬが・・・(汗)Flexではマウスを操作した結果は、マウスイベントをフックすると知ることができます。mxmlで以下のように書いてみます。>このコードが今回修正したCoverFlow表示領域のボックス記述です。マウスポインターがHBOXから出たときに発生するのような意味を持っています。■マウスがどこで操作されたのか調べるマウスイベントは表示領域で取得しますが、対象のHBOXには様々な子コントロールが含まれています。・横スクロールバーです。料にする場合は、MouseEvent#target.parentを使います。HScrollBar)のように記述する必要があります。■マウスが領域外に出たときを考慮するマウス操作を実装していて、忘れがちになるのが、この処理です。全画面表示で操作しているようなケースでは無縁ですが、実際はドラッグしながらウィンドウの外でマウスを放した、というケースは珍しくありません。このときイベントを拾っておかないと、再度マウスが領域に戻ったとき、マウスが押されたままと間違って判断してしまうことがあります。旦マウスを放した、という仮定が必要となります。マウスが領域外に出たかどうかはステージオブジェクトのマウスイベントをフックします。一気にFlashPlayerから出てしまうと、MouseOutが呼ばれないことがあります。onMouseOut);のように、記述します。似たイベントで、MouseEvent.ROLL_OUTがありますが、これはHTMLの:hoverのような実装をする際に使うイベントです。対象のコントロールの上に来た・離れたというのを制御します。■続きはBlogでこれまでの記事を含め、下記Blogで補足しています。http://my.opera.com/sizuhiko/blog/index.dml/tag/CoverFlow本記事について、引き続きこちらで詳しく解説&Flashのデモも実行していますので、ぜひご覧ください。■まとめマウス効果を付けることで、前回までの視覚効果に加え操作性がよりホンモノのCoverFlowに近い見た目が実現されていると思います。今回のサンプルはマウスジェスチャーを作る場合などの参考になります。