No.2ベストアンサー
- 回答日時:
マウスが動いた時に発生する mouseMove イベントは、ムービークリップのイベントです。
利用するにはムービークリップが必要です。変数を表示するためのテキストボックスをムービークリップにすれば、mouseMove イベントを検出できるようになるだけでなく、X座標とY座標の両方を表示するにも1つのシンボルを再利用でき、一石二鳥です。
「テキスト」ツールでテキストボックスを作成したら、「テキストオプション」パネルでタイプを「ダイナミックテキスト」にし、「変数」の項目に、内容を表示したい変数の名前を入力します。ここでは仮に、変数名を coordinate とします。
このテキストボックスを、ムービークリップに変換します。テキストボックスには、ムービークリップが持っている coordinate という変数の内容が表示されることになります。
このムービークリップのインスタンスを2つステージに配置して、次のようなスクリプトを設定してみてください。Y座標を表示するには、_xmouse を _ymouse に変更します。
onClipEvent(mouseMove)
{
//ステージの左上を原点とするマウス座標を取得
coordinate = _root._xmouse;
}
(↑このスクリプトをコピーして利用する場合は、各行頭の全角のスペースを、全て半角のスペースかタブに置き換えてください。このまま使うとシンタックスエラーになります)
カーソルの位置は _xmouse と _ymouse プロパティを見ると分かります。
ただし、_root._xmouse とした時はステージの左上を ( 0 , 0 ) とするカーソルの座標が、インスタンス名._xmouseとした時は指定のインスタンスの中心点を ( 0 , 0 ) とするカーソルの座標が返ってきます。
onClipEvent アクションの中でターゲットパスを省略すると、this._xmouse と同じ意味になります。つまり、そのムービークリップの中心点を原点とするカーソルの座標になります。
なお、ムービークリップの中心点というのは、インスタンスにある+マークが表示されている点のことです。
座標を表示することが目的ではない場合も、発想は同じです。
Flash MX 以降であれば _root.onMouseMove = function () ・・・としてフレームに定義しておけるところですけれど、Flash 5 ではこの方法は利用できません。mouseMove イベントを利用するには、必ずムービークリップが必要になります。
既にステージにあるムービークリップを、どれか1つ借りてもいいのですが、mouseMove イベント検出専用のダミーのムービークリップを配置しておくのも1つの手です。
ムービークリップのインスタンスであれば、何でも構いません。適当なシンボルを1つ作ってもいいですし、実際に作品で使っているシンボルのインスタンスでも結構です。
ムービークリップインスタンスのアルファを0%にして、ステージのどこかに置いておきます。
このムービークリップに onClipEvent(mouseMove) を設定して _xmouse や _ymouse プロパティを参照すると、マウスが動く度にカーソルの座標を取得することができます。
回答ありがとうございます。
スクリプトを貼り付ける箇所を間違えていたんですね。
無事座標を取得できました。
ありがとうございました。
No.3
- 回答日時:
No.2の方が言われている通り、「mousuMove」イベントはムービークリップのイベントですので、ステージにムービークリップを配置する必要があります。
>「シーン上のフレーム1のところのレイヤーが何もない箇所に」
と言われていますが、意味がいまいち理解出来ません。
「あるレイヤーのフレーム1のところに」と言う事でしょうか?。でも、onClipEventはムービークリップインスタンスでのみ利用出来るので、フレームアクションではエラーになるはずです。
・レイヤー1の1フレームに適当な位置にダミーのムービークリップを配置。(縦横1x1の透明なムービーで良い)
インスタンス名を「aaa」とする。
・同じくダイナミックテキストエリアを2個配置。
変数名を「hensuu_x,hensuu_y」とする。(注:インスタンス名ではありません。必ず変数名に指定してください。)
・「aaa」のムービーアクションとして、
onClipEvent(mouseMove) {
_root.hensuu_x = this._xmouse ;
_root.hensuu_y = this._ymouse ;
}
_root.の代わりにthis._parent.でも構いません。
これで、マウスを動かす毎にダイナミックテキストエリアに表示されます。(実際に試しましたから間違いありません。)
今、気付きました。No.2で回答されている方はDPEさんで、私もいつもお世話になっている方です。DPEさんの回答をCopy&Pasteされて試されたら良いですね。
回答ありがとうございます。
>「あるレイヤーのフレーム1のところに」と言う事でしょうか?
はい、そうです。
エラーは出ませんでしたが、何も反応しなかったです。
#2の方の方法で無事解決しました。
ありがとうございました。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 外付ディスプレイで AutoHotkey の MouseMove コマンドを実行するとマウスカーソル 1 2023/03/06 00:04
- USBメモリー・SDカード・フラッシュメモリー プリンタのドライバーをUSB Flash Diskに保存したい。 4 2023/05/23 23:30
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- マルウェア・コンピュータウイルス FlashPlayerの削除とマルウェア感染について 5 2023/02/23 20:52
- ホームページ作成・プログラミング Adobe FLASH に代わるソフトはありますか? 4 2022/09/27 19:35
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- 投資・株式の税金 一般口座で同一銘柄の総平均法のことで 1 2023/02/27 22:08
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
- 物理学 角運動量の式変形が分かりません。 4 2022/08/03 21:04
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコンボボックスの年月表示...
-
スマホでサイトの画像を長押し→...
-
Giam
-
potplayerについて質問です
-
拡張子「swf」の再生方法について
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マウス自体の移動量の取得
-
楕円の軌道に傾斜をつける方法...
-
[AS3]自動的に画像が重なってい...
-
MCが放物線を描いて移動
-
FLASHでロールオーバーで他のム...
-
C言語でのマウスを移動とマウス...
-
角度を指定して回転
-
画面の範囲選択
-
正6面体を一定の角度で回転さ...
-
MCの移動,透明の仕方について...
-
Actionscriptでふわふわ感を再...
-
ムービー上の特定の座標上にマ...
-
スライドバーを用いて画面の拡...
-
AS2 初心者です オブジェク...
-
FLASHでの座標取得
-
flashの横幅をどのブラウザで見...
-
進行方向に徐々に停止するスク...
-
ActionScript
-
FLASHのActivescriptでオブジェ...
-
マウスを近づけるとオブジェク...
おすすめ情報