ムービー上の特定の位置にマウスが載った場合、
特定のMCの動きを制限したいのですが、
どの場合、「ムービー上の特定の位置にマウスが載っているかどうか」を判断するにはどのようなスクリプトを書けばいいでしょうか。
<具体例>
y座標範囲0~100 で、x座標範囲0~600
の範囲内にあるときだけ、mc_birdに、function fly()
を実行させたい。
<_rootのフレームアクション>
this.onEnterFrame = function(){
※ここに条件分岐等を入れればいいと思うのですが、
何を書けばいいのかわかりません。
}
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
ステージ上の特定の領域(四角形)であれば、マウスカーソルの位置を見て、その座標が範囲内にあるかどうかで判断してはいかがでしょう。
_root._xmouse と _root._ymouse プロパティを見ると、ステージの左上を基準とするマウスカーソルの座標を取得できます。この座標が、( 0 , 0 ) - ( 600 , 100 )の範囲内にあるかどうかを判断するスクリプトは、
if ( _root._xmouse >= 0 && _root._xmouse <= 600 &&
_root._ymouse >= 0 && _root._ymouse <= 100 )
{
・・・
}
このようになります。
(インデントの都合上、スクリプトの一部に全角のスペースが入っています。コピーして使う時は、半角のスペースかタブに置き換えてください。このまま使うとシンタックスエラーになります)
上記の方法では、指定の範囲内にカーソルがある間、常に if 文が実行されてしまいます。
指定の範囲内にカーソルが入った時1度だけ処理をさせたい場合は、ヒット領域用のムービークリップを作り、アルファを0にしてステージに置いておき、このムービークリップでの RollOver イベントを利用すると簡単です。
ムービークリップを利用すると、四角形だけでなく、円や不定形などの複雑な形のヒット領域を作れるという利点もあります。
仮に、ヒット領域用の hit_area というムービークリップがあるとすると、
hit_area.onRollOver = function ()
{
・・・
};
このような処理をフレームアクションで定義します。
なお、RollOver イベントを利用するアクションを定義すると、該当するムービークリップの上にカーソルが乗った時に手のカーソルに変わってしまいますので、load イベントを利用して、予め
hit_area.useHandCursor = false;
というアクションを実行しておくといいでしょう。ムービークリップの上にカーソルが乗っても、手のカーソルに変わらなくなります。
ありがとうございます。
座標をうまく取得できてなんとか思い通りの動作を実現することができました。
サンプルスクリプトまでご提示していただきまして、
ありがとうございました。
感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 角運動量の式変形が分かりません。 4 2022/08/03 21:04
- 法学 改正少年法の64条の2項で、同号、同項がさしているものは何ですか? 3 2022/10/03 21:07
- その他(自然科学) 光を保存する方法 8 2023/01/31 10:07
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- 物理学 角速度ベクトルにつきまして 3 2022/08/09 15:44
- 借地・借家 簡易裁判所の退去費用の裁判の答弁書について 1 2023/03/07 19:33
- Excel(エクセル) マクロ 一定の範囲内での特定セルの色を変える 2 2022/04/07 15:04
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- その他(プログラミング・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でオブジェ...
-
マウスを近づけるとオブジェク...
おすすめ情報