MouseWheel on Mac(JP)
デルタ値
OSXではflashでマウスホイールの回転量(デルタ値)を取れないので、テキストスクロールなどに応用が残念ながら出来なかった。flash9を使ってas3でもOSXでは、このデルタ値を取得できない。ではjavascript経由でdeltaを取得し、flash内で使おうというものがこのサイト。まず、swfmacmousewheelからjs一式をdownloadする。サンプルのindex.htmlを実行するとエラーが起こる。実はswfaddressを必要とするのでそちらを落とし、ファイルをjsフォルダに入れると正しく動作する。ホイールの回転に合わせてflash内のテキストフィールドの数値が変わるのが確認できる。
base.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel); private function onMouseWheel(evt:MouseEvent):void{ trace(evt.delta); }
ブラウザのヒストリ
ちなみにswfAdressも優れもので、他種類のブラウザ、いわゆるクロスブラウザ対応でブラウザのヒストリ機能が使える。サンプルではflash内のボタンの操作に合わせてページがflash内で変わり、さらにブラウザにヒストリをセットする。ブラウザの戻るボタン操作でflash内のページを切り替えれる。
javascriptでファイルをアップロード
さらにもう一つ、swfuploadは、javascriptからswfのアップロード選択画面を呼び出してアップロードができる。flashを使えない場面(?)でxhtmlとcssでprogressバーを表示したりもできるが、もともとjavascriptだけを使ったformタグでのアップロードではアップロードの完了でしかファイルをアップロードが通知されないのでユーザはファイルが大きいと長い時間待たされてしまう。PHPなどのサーバ側のプログラムに若干手を加えること(アップロード中の/tmpフォルダのサイズを途中途中で取得するような)が出来れば、アップロード中のプログレスバーを表示できる。
Comments
You have a very talented and skilled writting. I had a great time reading your comments. love tournament is very good cosmos
Posted by: universal cosmos becomes white mistery in final | February 28, 2007 10:25 PM