- 締切済み
カーソルを変更する方法を教えて頂きたいです(FLASH)。
カーソルを別のムービークリップに変えるやり方は分かったのですが、 画面の中央より右にカーソルがある時に右向きの矢印の画像を表示し、左にある時に左向きの矢印の画像を表示するといったやり方が分かりません。 誰か知っている方がいらっしゃたら教えて頂ければと思います。 よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
Flash のバージョンを書かれていらっしゃいませんし, ActionScriptのバージョンも書かれていらっしゃいません。 また, > カーソルを別のムービークリップに変えるやり方は分かったのですが と書かれましても, 私は質問者さんがどうされたのかわかりません。 カーソルを別のムービークリップに変えるやり方など考えようによっては無数にあるので特定できないということです。 よくわかりませんが, そのカーソル用に用意したMC(ムービークリップ)内のフレーム1に「左向きの矢印」, フレーム2に「右向きの矢印」の絵を用意して, マウスが画面中央より右にあるか左にあるかによって, そのカーソル用に用意したMC内のフレーム1とフレーム2を切り替えれば良いと思います。 Flash MX 以上(MX,MX2004,8,CS3,CS4)をお持ちで, ActionScript2.0以下 で(実際はActionScript1.0で), カーソル用のMCに「cursor_mc」 というインスタンス名を付けた場合, フレームのスクリプトを次のようにすれば一連のことができます。 ------------------------------------------- // マウスカーソルを隠す Mouse.hide(); // カーソル用MC cursor_mc をフレーム1で停止 cursor_mc.stop(); // マウス監視用のインスタンスmouseLstを作成 var mouseLst = new Object(); // マウスが動いたときの動作を定義 mouseLst.onMouseMove = function() { // カーソル用MC cursor_mc をマウスの座標にする cursor_mc._x = _xmouse; cursor_mc._y = _ymouse; // もし マウスの座標 がステージの半分より左であれば if (_xmouse<Stage.width/2) { // カーソル用MC cursor_mc をフレーム1で停止 cursor_mc.gotoAndStop(1); } else { // それ以外は cursor_mc をフレーム2で停止 cursor_mc.gotoAndStop(2); } // 即 表示を更新 updateAfterEvent(); }; // マウスクラスのリスナーとして mouseLst を登録 Mouse.addListener(mouseLst); -------------------------------------------
補足
お忙しい中ご回答頂きありがとうございました。 質問に補足させて頂きます。 質問の仕方が悪くて申し訳ありませんでした。 FLASHのバージョンはCS3でactionscript1.0&2.0を使用しています。 カーソル変換のやり方は メインのタイムラインにMouse.hide();を記述し カーソル用ムービークリップに直接以下のスクリプトを書き込んでいました。 onClipEvent (mouseMove) { _x = _root._xmouse; _y = _root._ymouse; } 一回組んでいたスクリプトを消してBlurFiltanさんの回答の中にあるスクリプトをコピぺさせて頂いたのですがうまく表示されませんでした。 動作としては左向きの矢印のみ表示される状態になります。 おそらくif (_xmouse<Stage.width/2){}が読み込まれてないと思われます。 if (_xmouse<Stage.width/2){}を使って他の指示も試してみたのですが、効果はありませんでした。 何か動作しない条件等があるのでしょうか? お忙しい中申し訳ありませんが何卒よろしくお願い致します。