これは結構使えるので忘れないようにメモ。
やり方はswfobject(使ってるのはver1.5だけどもう2.0なのね、、)でswfを配置して、mousewheel.jsというjavascriptからswf側でマウスホイールの数値を受け取るという感じ。
やり方はswfobject(使ってるのはver1.5だけどもう2.0なのね、、)でswfを配置して、mousewheel.jsというjavascriptからswf側でマウスホイールの数値を受け取るという感じ。
swf側でjavascriptを受け取るにはExternalInterfaceをインポートしておく。
で、↓こんな感じの関数を用意すれば値を受け取れる。 あとは、スクロールさせたいMCなりとスクロールバーを用意して
それぞれに変数を受け取ったときの関数を用意すれば完了。
今回、swfを縦横100%で配置して、ウィンドウサイズが変わっても
常にMCは中央、スクロールバーは右側に配置という関数も加えた。
ウィンドウのリサイズは、↓こんな感じでやっとけばよい。 あと、上下矢印キーにも対応させた。
KeyboardEventをインポートしておくこと。
それと、マウスホイールに直接は関係ないけど、
スクロールバーのロールアウトのとき、AS2.0だとonReleaseOutsideを設定してたのが、AS3.0では無くなったみたいなので、stageにロールアウトと同じ設定をする。
ボタンに stageに 今回に限らず、ボタンには絶対設定しておいたほうがいい。
あ、ブラウザはfirefox2とIE7で動作確認済み。
IEでステージをクリックしない状態でswfにフォーカスを当てるために、htmlのbodyタグに↓を記述。 ※なぜかfirefoxで、キーボードイベントはクリックしないと効かない、、
→サンプル
→ソース
で、↓こんな感じの関数を用意すれば値を受け取れる。 あとは、スクロールさせたいMCなりとスクロールバーを用意して
それぞれに変数を受け取ったときの関数を用意すれば完了。
今回、swfを縦横100%で配置して、ウィンドウサイズが変わっても
常にMCは中央、スクロールバーは右側に配置という関数も加えた。
ウィンドウのリサイズは、↓こんな感じでやっとけばよい。 あと、上下矢印キーにも対応させた。
KeyboardEventをインポートしておくこと。
それと、マウスホイールに直接は関係ないけど、
スクロールバーのロールアウトのとき、AS2.0だとonReleaseOutsideを設定してたのが、AS3.0では無くなったみたいなので、stageにロールアウトと同じ設定をする。
ボタンに stageに 今回に限らず、ボタンには絶対設定しておいたほうがいい。
あ、ブラウザはfirefox2とIE7で動作確認済み。
IEでステージをクリックしない状態でswfにフォーカスを当てるために、htmlのbodyタグに↓を記述。 ※なぜかfirefoxで、キーボードイベントはクリックしないと効かない、、
→サンプル
→ソース


