• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マウスに追従するクリップの範囲について)

マウスに追従するクリップの範囲について

flipknightの回答

回答No.3

回答させていただきます。 えと、開発環境がpraflaなので、MX 2004の詳しいことはわからんのです。ASだけ回答します。 まず、マウスに追従する設定ですが、 追従範囲のインスタンス名(paraflaではスプライト名)をareaに設定します。 その後、マウスに追従させるムービークリップに以下のASをコピペしてください。 onClipEvent(load){ ////////設定////////// ax=100; //定位置x ay=100; //定位置y speed=5; //追従速度 mousehide=0;//マウス表示(1で非表示、0で表示) //////設定終わり////// } onClipEvent (enterFrame) { ///////マウス表示、非表示/////// if(mousehide==1&&_root.area.hitTest(_root._xmouse, _root._ymouse, true)){ Mouse.hide(); } else {Mouse.show();} /////ここまで/////// /////////マウス追従///////// if (_root.area.hitTest(_root._xmouse, _root._ymouse, true)) { _x += (_root._xmouse - _x)/speed; _y += (_root._ymouse - _y)/speed; } /////ここまで/////// //マウス定位置への移動// else{ _x += (ax-_x)/speed; _y += (ay-_y)/speed; } /////ここまで/////// } です。 自分の作っている作品からの引用なので、いらんとこは消してください。 また、用語間違ってたら誰か指摘お願いします

sazabi04
質問者

補足

ご回答ありがとうございます。 さらに理解不能といいますか。。頭が混乱しております(>_<) 少しずつ勉強してみます。。 ありがとうございました。

関連するQ&A

  • マウスを追いかける

    ムービークリップがマウスを追いかけるというようにしたいのですが、追いかけるムービークリップが別のシンボルの中にあると座標がずれるようで、このずれをなくしたいのですがどのようにすればよいのでしょうか? 詳しくは、シーン1にシンボル(ただの図形と追いかけてほしいムービー:mc1)を置いて、mc1に下記のスクリプトを書きました。 -------------------------------------------- onClipEvent (load) { _root.mc1.startDrag(true); x = _root._xmouse; y = _root._ymouse; } onClipEvent (enterFrame) { _x += (_root._xmouse-_x)/4; _y += (_root._ymouse-_y)/4; } --------------------------------------------

    • ベストアンサー
    • Flash
  • マウス 追従 範囲外

    マウスを追いかけるMCを以下のように設定しましたが、 MCが動いている範囲外にマウスがいるときは追いかけるのを やめにしたい場合どのように記述すればよろしいでしょうか。  onClipEvent (mouseMove) { if (_root._xmouse >左 && _root._xmouse <右) { this._x = _root._xmouse; } if (_root._ymouse >上&& _root._ymouse <下) { this._y = _root._ymouse; } } 範囲外にマウスがいるときは定位置にmcを表示させるか、 表示を消したいです。 ちなみにmcが動く範囲の指定方法はネット上から探してきました。 別の方法でもっと適した記述があれば教えてください。

  • Flashで、ナビゲーションがマウスカーソルに追従し、カーソルに近づくと止まるボタン

    FlashのActionScriptについての質問です。 参考書を見ながらやっていて、 ナビゲーションがマウスカーソルに追従し、カーソルに近づくと止まるボタンを作りたいのですが、 マウスに追従してきません。 _rootタイムラインのムービークリップctr_mcsetに、 onClipEvent (enterFrame) { if (_root.woksctr == true) { this._x += (_parent._xmouse-this._x)/5; this._y += (_parent._ymouse-this._y)/5; } } を記述しました。 ctr_mcsetのタイムラインに、触れると追従が止まるボタンの領域として、 cl_bn02を配置して、クリッカブル表示されないように on (release) { } onClipEvent (load) { this.useHandCursor = false; } を記述しました。 その、cl_bn02のタイムラインに、_up,_over,_downラベルをつくり、 _upには、 stop(); this.hitArea = hit; this.hit._visible = false; _root.worksctr = true; _over,_downには、 _root.worksctr = false; と記述しました。 参考書の通りだと、これでマウスカーソルにナビゲーションが近づくと静止し、 離れると追従するらしいのですが、止まったまま追従してきません。 if (_root.woksctr == true)の、==を、=だけにすると、追従はしてきますが、 ムービークリップの中心点にマウスカーソルがいつもいってしまって、 左右のボタンがうまく押せません。 どこか記述がヘンなのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • マウスカーソルについてくる前に左上にいってしまう。

    こんにちは。 マウスカーソルについてくるムービークリップをマスクにして使用したいため、 目的のムービークリップに onClipEvent (enterFrame) { _x += _xmouse/3; _y += _ymouse/3; } というActionScriptを入れました。 きちんと思うように動くのですが、 読み込んだあと、一瞬まず左上に移動してしまいます。 マウスカーソルをうごかして、はじめてマウスカーソルに近づいてきます。 左上に移動してしまうのは格好が悪いので、配置した位置からマウスカーソルに近づいて欲しいのですが、色々調べてもその説明がありません。 どうかよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • ムービークリップの領域をシェイプの形状にしたい

    よろしくお願い致します。 ムービークリップにマウスオーバーするとムービークリップが再生し、マウスアウトすると逆再生するというものを作っています。 ここで、ムービークリップのマウスオーバーする領域を矩形ではなく、見たままの形(シェイプの形状)だけに指定するにはどうすれば良いでしょうか? 現在の状況は、マウスオーバーさせるムービークリップに onClipEvent (load) { this.stop(); } onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse, false)) { this.nextFrame(); } else { this.prevFrame(); } } のアクションを書いています。 自分なりに調べたところ、「shapeFlag?というものを使うらしい?」というのは分かったのですが、どう使えば良いのかさっぱり分かりません・・ どなたかご指導頂けないでしょうか。 どうぞよろしくお願い致します。

    • ベストアンサー
    • Flash
  • 外部swfを読み込んだときだけMouse.hide();させたい。

    よろしくお願いします。 ドキュメント上に空のムービークリップを作り、その中の入れ子のボタンを押すと外部swfを表示するflashを作ったのですが、その外部swf、仮にhoge.swfを読みこんで、そのときだけマウスを隠して(ムービークリップをマウス代わりに)、ボタンで違う外部swf、仮にogeをよみこんだときはマウスを表示させることは可能でしょうか? onClipEvent (enterFrame) { this._x=_root._xmouse; this._y=_root._ymouse; Mouse.hide(); } 上記のスクリプトでマウスを消すと、ogeを読み込んでもマウスが消えっぱなしです。 多分if文を使って if (hogeを読み込んだら){ this._x = _root._xmouse; this._y = _root._ymouse; Mouse.hide(); } //そうでなかったら、 else { Mouse.show(); } みたいな感じなのでしょうが、うまく機能しません・・・。 ご教授お願い致します。

    • ベストアンサー
    • Flash
  • 慣性の効果がついたマウス追従

    マウス追従の効果で教えてください。 http://www.flashiroha.com/script/as8.htmlの慣性効果付加型のスクリプトは AS2.0で書かれています。 onClipEvent(load) { vx=0; vy=0 } onClipEvent(enterFrame) { vx=vx*0.65+(_root._xmouse-this._x)/a; vy=vy*0.65+(_root._ymouse-this._y)/a; this._x+=vx; this._y+=vy; } これをAS3.0で作成していますが、マウスに追従するどころか大きくステージから離れてしまいます。 どのように記述をしたらいいでしょうか。 my_mc.addEventListener(Event.ENTER_FRAME,onEnterframe); var vx ; var vy ; function onEnterframe(eventObj:Event):void{ vx= my_mc.x*0.65+(stage.mouseX-my_mc.x)/2; vy= my_mc.y*0.65+(stage.mouseY-my_mc.y)/2; my_mc.x+=vx; my_mc.y+=vy; trace(my_mc.x); }

    • ベストアンサー
    • Flash
  • マウスの移動方向によってマウスカーソルの画像を切り替えたい

    今、マウスカーソルを(右向きの)車の画像にしています。 マウスを右方向に動かしたら、右方向の車の画像にし、逆に左方向に動かしたら左方向の車の画像に切り替える、という処理は可能でしょうか?可能である場合、どのようなスクリプトを書けばよいのでしょうか? マウスのx座標の値の増減で判断する、ということは想像できるのですが、書き方が分かりません。 右向きの車の画像のムービークリップ「car」のインスタンスには、下のスクリプトを記述しています。 onClipEvent (load) { Mouse.hide(); } onClipEvent (mouseMove) { this._x = _root._xmouse; this._y = _root._ymouse; updateAfterEvent(); } バージョンはMXです。 どうかよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 移動範囲を指定したい

    マウスを追いかけるMC1の追いかける範囲を指定したいのですがうまくいきません; 細かい指定としては↓ (1)画面の下1/5ぐらいのMC2の中にはMC1は入れない (2)マウスがMC2の中にある時はMC1はy座標は変化なし x座標はマウスを追いかける(つまり、横にしか動かない) (3)マウスがMC2から出てきたら、再びMC1はマウスを追いかける 現状としては ------------------------------------------- onClipEvent (enterFrame) { if (this.hitTest(_root.ki.kusa)){ _x += (_parent._xmouse-_x)*0.1; this._y += 0; }else{ _x += (_parent._xmouse-_x)*0.1; _y += (_parent._ymouse-_y)*0.1; } } ------------------------------------------- これでは、マウスがMC2から出てきた時に、MC1がMC2から離れないという様になってしまうのですがどうすればいいでしょうか??

  • ムービークリップがマウスカーソルを追いかけ、マウスカーソルと同じ位置に来たときにムービークリップを変えたい

    以下のようにスクリプトを書いたのですが ムービークリップがマウスカーソルと同じ位置に来ても ムービークリップがフレーム2に移動しません。 ドラゴンクエストVIIIのトップページのFlashのような 表現をしたいのですがうまくいきません。 http://www.square-enix.co.jp/dragonquest/eight/ _mc.onEnterFrame = function() { this._x += ( _root._xmouse - this._x ) / 5; if( this._x == _root._xmouse ) this._mc.gotoAndStop(2); else this._mc.gotoAndStop(1); }; どうすればこの問題を解決することができるのでしょうか。 ご存知の方がおられましたらご回答をよろしくお願いします。

    • ベストアンサー
    • Flash