
FLASH8(Win-XP)使用者です。
オブジェクトの移動にマウスホイールを使いたいのですか、うまく動作しません。
どのようにやっても一旦「FLASH画像をクリック」しないと反応しないのです。
マウスホイールでのアクションは本来そういう仕様なのでしょうか?
以下にスクリプトを記します。
my_ls = new Object();
my_ls.onMouseWheel = function(delta, target_mc) {
ballY = _root.ball._y - (delta * 10);
_root.ball._y = ballY;
};
Mouse.addListener(my_ls);
*試したのはFP7+IE6、FP10+N7です。
FP7時にFLASH画像の周りに枠が出る現象を避けるためJavaScriptにてHTMLを書き出しています。
お詳しい方、よろしくお願いいたします。

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/0 …
--- 引用 ---
> Flash アプリケーションが監視できるのは、
> そのフォーカス内で発生するマウスイベントのみです。
> Flash アプリケーションは、別のアプリケーションでのマウスイベントを検出できません。
>
> イベント
> onMouseDown = function() {}
> マウスボタンが押されると通知されます。
>
> onMouseMove = function() {}
> マウスポインタが移動すると通知されます。
>
> onMouseUp = function() {}
> マウスボタンが離されると通知されます。
>
> onMouseWheel = function([delta:Number], [scrollTarget:String]) {}
> マウスホイールを回転させると通知されます。
「ブラウザに埋め込んだ Flash ムービーにキーボードフォーカスを与える」
http://www.adobe.com/jp/support/flash/ts/documen …
「JavaScript を使用して Flash にフォーカスを与える」
http://yoshiweb.net/blog/index.php?itemid=67
上の方の Adobe のページにある
> 回避策 1
> ユーザーに Flash ムービーをクリックしてもらう。
> Flash ムービーの最初のフレームにボタンを追加して、
> ユーザーがそのボタンをクリックしてから、
> 処理を続行してもらう方法が考えられます。
> 例えば、"スタート"、"ログイン"のボタンを用意します。
> これらのボタンをクリックすると Flash にフォーカスを与えることが可能です。
今回のご質問はこの方法はとれないのかもしれませんが,
この「スタート」ボタンを用意する方法がが簡単で,よく用いられる方法です。
ゲームなどで,意味のない「スタート」ボタンがあったりする場合がありますが,
ボタン自体に意味はなくても,
Flash に フォーカスを与えるという意味で存在しているケースもあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どこにもフォーカスを当てたくない
-
ユーザーフォームのSetFocusが...
-
MFCでコンボボックスを選択不可...
-
業務に差し支えのないテンキー...
-
ドラゴンボールZ3
-
他の人には声だして挨拶してる...
-
C# ReadOnlyのTextBoxで
-
油性マジックの消し方
-
至急回答お願いします。 間違え...
-
ガードレールの高さについて
-
F503iにSVって表示されてるんで...
-
テキストボックスの入力チェッ...
-
Accessの更新後処理で特定の条...
-
GridViewでハイライトを使用し...
-
VB.NET ボタン押下で一つ前の...
-
油性マジックで書いたサインを...
-
GooglePayに三井住友カードNL...
-
コマンドボタンのEnterイベント...
-
小学校で遊ぶてんかのルールに...
-
プログラムからTera Termに文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
他の人には声だして挨拶してる...
-
どこにもフォーカスを当てたくない
-
C# ReadOnlyのTextBoxで
-
ユーザーフォームのSetFocusが...
-
エクセルVBA テキストボックス...
-
業務に差し支えのないテンキー...
-
矢印(左右)キーでイベントを...
-
MFCでコンボボックスを選択不可...
-
油性マジックで書いたサインを...
-
Private Sub内でSubをCallしたい
-
テキストボックス入力後、警告...
-
プログラムからTera Termに文字...
-
コマンドボタンのEnterイベント...
-
GridViewでハイライトを使用し...
-
VB.NET ボタン押下で一つ前の...
-
F503iにSVって表示されてるんで...
-
Accessの更新後処理で特定の条...
-
酸素ボンベのレギュレーターか...
-
油性マジックの消し方
-
池袋サンシャイン通りでキャッ...
おすすめ情報