- ベストアンサー
マウスの移動方向によってマウスカーソルの画像を切り替える方法
- マウスカーソルの画像を、マウスの移動方向に応じて切り替える方法について教えてください。
- 右向きの車の画像のムービークリップ「car」のインスタンスには、マウスカーソルの座標を取得し、車の画像の表示位置を更新するスクリプトが記述されています。
- マウスのx座標の値の増減を利用して、マウスの移動方向を判断し、それに応じて車の画像を切り替えることができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- マウス 追従 範囲外
マウスを追いかける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
- マウスを追いかける
ムービークリップがマウスを追いかけるというようにしたいのですが、追いかけるムービークリップが別のシンボルの中にあると座標がずれるようで、このずれをなくしたいのですがどのようにすればよいのでしょうか? 詳しくは、シーン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
- AS2をAS3にしたい
AS2で書かれたスクリプトの一部があります。下記をAS3にしたいのですが。 ちなみに、mcはインスタンス名です。 onClipEvent (load) { pointX = 10; pointY = 20; } onClipEvent (mouseMove) { _root.mc._x = _root._xmouse + pointX; _root.mc._y = _root._ymouse + pointY; }
- ベストアンサー
- Flash
- 線の描画
使用ソフトはFlashMX2004でMacOSXを使用しています。 線の描画なんですが、他の動きとの関係で マウス位置より85上に線を描画→描画の度に新しいMCを作る→最初に作られたMCから透明になって消える という流れを目指して制作しています。 表現の関係上、btとリンケージ名をつけたボタンを1度押し、離した時に描画位置を指定し、再びボタンを押した時に描画終了という動きをさせたいと思い、以前頂いたサンプルに手を加え var osi = 0; canvases = 0; bt.onPress = function() { canNum++; if (osi == 1 &&_root._xmouse>=28 && _root._xmouse<=470 && _root._ymouse>=22 && _root._ymouse<=500) { _root.createEmptyMovieClip("can"+canvases, canvases); _root["can"+canvases]._alpha = 50; _root["can"+canvases].lineStyle(4, 0xffffff); _root["can"+canvases].lineTo(_root._xmouse, _root._ymouse-85); _root["can"+canvases].onEnterFrame = function() { this._alpha--; if (this._alpha<1) { this.removeMovieClip(); } }; updateAfterEvent(); canvases++; osi = 0; }; bt.onRelease = function() { if (osi == 1 &&_root._xmouse>=28 && _root._xmouse<=470 && _root._ymouse>=22 && _root._ymouse<=500) { _root["can"+canvases].moveTo(_root._xmouse, _root._ymouse-85); } } }; というスクリプトをくみましたが描画されません。 私が手を加えた箇所が間違っているのでしょうか。 一応試行錯誤はしてみたんですが解決策が見当たらず・・・。 間違っていましたらご指摘お願いします。 また、解決策がありましたらご教授お願いします。 このスクリプトがてを加える前の状態です。 this.stop(); canNum = 0; var osi = 0; canvases = 0; bt.onPress = function() { canNum++; if (_root._xmouse>=28 && _root._xmouse<=470 && _root._ymouse>=22 && _root._ymouse<=500) { mX = _root._xmouse; mY = _root._ymouse; osi = 1; } else { osi = 0; } }; bt.onRelease = function() { if (_root._xmouse>=28 && _root._xmouse<=470 && _root._ymouse>=22 && _root._ymouse<=500) { if (osi>0) { _root.createEmptyMovieClip("can"+canvases, canvases); _root["can"+canvases]._alpha = 50; _root["can"+canvases].lineStyle(4, 0xffffff); _root["can"+canvases].moveTo(mX, mY); _root["can"+canvases].lineTo(_root._xmouse, _root._ymouse-85); _root["can"+canvases].onEnterFrame = function() { this._alpha--; if (this._alpha<1) { this.removeMovieClip(); } }; updateAfterEvent(); canvases++; osi = 0; } } }; 長くなってしまい申し訳ありません。
- 締切済み
- 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
- マウスに追従するクリップの範囲について
はじめて投稿します。初心者ですが、よろしくお願い致します。 マウスに追従するムービークリップについて onClipEvent(enterFrame){ this._x += (_root._xmouse - this._x)/10; this._y += (_root._ymouse - this._y)/10; } としておりますが、マウスがムービーの中に入ったときだけ 反応するようにし、マウスがムービーの外にでるとムービー クリップが定位置に戻るようにしたいのですが よい方法がありましたら教えてください。 定位置に戻るときも追従の流れを残したまま、ゆっくり定位置に 戻るようにしたいと思っております。 よろしくお願いいたします。 Win XP : MX 2004
- ベストアンサー
- Flash
- 格納式の動くメニューとヒット領域判定について
ロゴをさわると格納されていたメニューがモーションを伴いながらでて、そのまま消えずに維持、一定以上左のエリアにいってしまうとメニューが消えるメニューを作りたいと思っています。 http://fashion.dior.com/dior.html イメージとしてはこちらのどれかリンクを選んでいただいて各コンテンツを表示させるメニューをクリックした時の動きが近いです。 格納→維持→エリア外にいくと消えるしくみまではなんとか作れたのですが、不思議なことにメニューが現れるときにモーションをともなわず、最後のフレームだけが再生されるようになってしまいました。 なお、ロゴには下記のスクリプトをつけました。 ヒットテストにしていないのはその後も条件をつけるためにはヒットテストだとできない?かなと思ったからです。 onClipEvent (mouseMove) { if (this._parent._xmouse>749.6 && this._parent._xmouse<966.6 && this._parent._ymouse<228.6 && this._parent._ymouse>28.6) { this._parent.menu.gotoAndPlay(2); } else if (this._parent._xmouse<698.9) { this._parent.menu.gotoAndStop(1); } else { this._parent.menu.gotoAndStop(7); } } 表示させるメニューのムービークリップ(menu)には onClipEvent (mouseMove) { if (this._parent._xmouse>698.9) { this.gotoAndStop(7); } else if (this._parent._xmouse<698.9) { this.gotoAndStop(1); } } と書きました。 かなり無理矢理なスクリプトだと思いますがご教授お願いします。! ちなみに制作環境はflashMX2004です。
- 締切済み
- Flash
- 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
- ポップアップを一定時間、またはマウスが乗っている間表示させておく
スクリプトに詳しくないので、教えていただきたいです。 画面上のあるエリアにマウスをのせるとポップアップウィンドウのようなものが表示され、 その中にあるボタンをクリックすると外部swfを読み込むという仕組みを 作りたいと思っています。 下に書いてあるスクリプトでポップアップが出てくるようにしたのですが、 その次がわからなくて困っています。 (1)マウスがエリアから外れても、一定時間(例えば1秒とか)ポップアップを 表示したままにしたい (2)ポップアップにマウスがのっている間は表示させておきたい (1)はエリア部分とポップアップが離れている場合(といってもほんの少しです)を 考えてのことです。 いい方法がありましたらぜひ教えてください。 どうぞよろしくお願いいたします。 エリア部分に書いたActionScript --------------------------------------------------------------- onClipEvent (load) { _root.popup._visible = false; } onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse,_root._ymouse,1)) { _root.popup._visible = true; } else { _root.popup._visible = false; } } ---------------------------------------------------------------
- ベストアンサー
- Flash
- 彼氏に突然別れを告げられて、私は頭が回らず何も言えなかった。
- 彼との関係に距離感が生まれてしまった原因を知りたい。
- 付き合ってすぐの頃は優しくしてくれていた彼に、最近は違った態度が出てきた。
お礼
迅速な回答、ありがとうございます。 ご提案いただいた方法で無事実現できました。 説明が大変分かりやすかったです。変数を使って座標の位置の差分を出すのですね。 感謝しております。ありがとうございました!