MacでもFlashでホイール操作が出来るようにする (SWFMacMouseWheel)

2007年8月9日(木) 07:45

SWFMacMouseWheel
Flashコンテンツでマウスのホイールイベントを利用する場合、そのままではMacでイベントが受信できない。Macでもホイールイベントの実装を楽にしてくれるのが、SWFMacMouseWheel。利用する際は、SWFObject.jsのアドオンとして利用する。

実装する際にJavaScriptコード以外、ActionScript側で専用のクラスのインポートが必要になる。実装に必要なActionScriptクラスファイルとJavaScriptライブラリなどがダウンロードファイルに含まれる。

JavaScriptでイベントを取得
実際にマウスホイールイベントを取得する際はJavaScriptでイベント捕捉が行われる。あらかじめFlashコンテンツでインポートしたクラス内部では、ExternalInterface.addCallbackを利用して、ActionScriptコード中のFunctionをJavaScriptコードからの呼び出しを可能にしている。

簡単な実装用のコードはリンク先のサイトに記載されてるので参考にしていただきたい。

Flashコンテンツのwmode=transparentなどを指定した場合にIE6などブラウザによってマウスイベントの発生タイミングやhitTest時の結果が異なる場合がある。ブラウザによってマウスイベントの差異をなくしたい場合、JavaScriptと連携させる方法が有効となる。

SWFMacMouseWheelを参考に、FlashとJavaScriptの勉強材料にもなるので、是非試していただきたい。尚、Flash側からJavaScriptを呼び出すには、ExternalInterface.callを利用する、こちらも便利だ。

さくらインターネット

関連する記事