イナヅマTVログ

Flash + Flex, Mac ユーザーにもマウスホイール

| 0件のコメント

お願いがある。
Flash コンテンツにマウスホイールに依存するナビゲーションを実装するなら、Mac ユーザーのことも忘れないで欲しい。

Flash だけでは実装は困難だが、swfmacmousewheel.js を使うと実装できる。
Flash 側にいくつか Script が必要だったりするのでめんどうだと思ってしまいそうだけど、これからはそんな心配無しに取り入れることができる。

PIXEL BREAKER が ActionScript クラスとSWFObjectと一緒に使えるswfmacmousewheelをパッケージにして提供してくれている。

AS3.0 MouseWheel on Mac OS X

サンプルコードとデモがダウンロードできるのですぐに使うことができるはず。
Adobe Store, FWA Site Of The Day…などメジャーなサイトでもマウスホイール・ナビゲーションが使えないところはある。
これをきっかけに少なくなるといいな。

ActionScript, MacMouseWheel Class を import し setup。
ドキュメント・クラスでも良いらしい。

import com.pixelbreaker.ui.osx.MacMouseWheel;
MacMouseWheel.setup( this.stage );

MOUSE_WHEEL MouseEvent をリスナー登録

stage.addEventListener( MouseEvent.MOUSE_WHEEL, mouseWheelHandler );
function mouseWheelHandler (event:MouseEvent) : void {
	trace(event.delta);
}

delta プロパティは Flash Player 9.0.28から。

JavaScript をリンク。

<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/swfmacmousewheel2.js"></script>

SWFObject 設定

var vars = {};
var params = { scale:'noScale', salign:'lt', menu:'false' };
var attributes = { id:'testObject', name:'testObject' }; // give an id to the flash object
 
swfobject.embedSWF("test_as3.swf", "flashContent", "550", "400", "9.0.28", "js/expressInstall.swf", vars, params, attributes );
swfmacmousewheel.registerObject(attributes.id);

デモ

コメントを残す

必須欄は * がついています