• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【FLASH】マウスホイールで正常に動かない!)

FLASHマウスホイールでの正常な動作ができない!

このQ&Aのポイント
  • FLASH8(Win-XP)を使用している際に、マウスホイールを使ってオブジェクトを移動しようとすると、正常に動作しない問題が発生しています。
  • 現在の仕様では、マウスホイールでのアクションを行うためには、一度FLASH画像をクリックしなければならないようです。
  • 試した環境はFP7+IE6とFP10+N7であり、FP7の場合にはFLASH画像の周りに枠が表示される現象を避けるために、JavaScriptを使用してHTMLを書き出しています。

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

> 一旦「FLASH画像をクリック」しないと反応しないのです。 これは,Flash 内の ball などの特定の画像という意味ではありませんよね。 Flash 自体を一度クリックしないと動作しないということですよね。 マウスホイールの問題ではなくて,Flash とは本来そういうものです。 Flash に フォーカス が当たっていないと,マウスイベントは有効になりません。 わかりやすい例で言うと, マウスに限らず,キーイベントもそうです。 ブラウザ に 表示された Flash は初期状態でブラウザ側にフォーカスがあるので, キーイベント もブラウザ側が受け取ります。 例えばブラウザのURL欄にフォーカスがあって,そこで「キー1」を押した場合, ブラウザのURL欄が「1」になります。 Flash のボタンに, on (release, keyPress "1") { play(); } などどと書いてあってもそれは無効で,ブラウザの URL 欄が 「1」 になります。 当たり前と言えば当たり前ですよね。 ブラウザ と Flash との関係以外でも,PCの仕様はほとんどそうです。 ActionScript 2.0 リファレンスガイド 「 ActionScript クラス > Mouse」 http://livedocs.macromedia.com/flash/8_jp/main/00002427.html  --- 引用 --- > Flash アプリケーションが監視できるのは、 > そのフォーカス内で発生するマウスイベントのみです。 > Flash アプリケーションは、別のアプリケーションでのマウスイベントを検出できません。 > > イベント > onMouseDown = function() {} > マウスボタンが押されると通知されます。 > > onMouseMove = function() {} > マウスポインタが移動すると通知されます。 > > onMouseUp = function() {} > マウスボタンが離されると通知されます。 > > onMouseWheel = function([delta:Number], [scrollTarget:String]) {} > マウスホイールを回転させると通知されます。 「ブラウザに埋め込んだ Flash ムービーにキーボードフォーカスを与える」 http://www.adobe.com/jp/support/flash/ts/documents/tn_15586.htm 「JavaScript を使用して Flash にフォーカスを与える」 http://yoshiweb.net/blog/index.php?itemid=67 上の方の Adobe のページにある > 回避策 1 > ユーザーに Flash ムービーをクリックしてもらう。 > Flash ムービーの最初のフレームにボタンを追加して、 > ユーザーがそのボタンをクリックしてから、 > 処理を続行してもらう方法が考えられます。 > 例えば、"スタート"、"ログイン"のボタンを用意します。 > これらのボタンをクリックすると Flash にフォーカスを与えることが可能です。 今回のご質問はこの方法はとれないのかもしれませんが, この「スタート」ボタンを用意する方法がが簡単で,よく用いられる方法です。 ゲームなどで,意味のない「スタート」ボタンがあったりする場合がありますが, ボタン自体に意味はなくても, Flash に フォーカスを与えるという意味で存在しているケースもあります。

ikataro
質問者

お礼

なるほど!わかりました。 そのようにさせていただきます。 ありがとうございました。

関連するQ&A