swapDepthsについて

このQ&Aのポイント
  • swapDepthsを使用してムービークリップの深度を変更する方法について困っています。
  • 衝突の間にムービークリップを前面に持ってきたり、障害物の後ろに配置したりしたいのですが、リプレイ時に新しいレイヤーが残ってしまいます。
  • また、深度の数字の指定方法もわかりません。一度深度を指定して移動したレイヤーを元に戻す方法はありますか?
回答を見る
  • ベストアンサー

swapDepthsについて

いつもありがとうございます。ミニゲームを作っていてswapDepthsで困っています。衝突の間、ムービークリップを再前面に持って来て、そうでない時は障害物の後ろにしたいのですが、障害物のムービークリップにswapDepthsを入れ、メインムービークリップを動作させるボタンにも起き上がった時にレイヤーを入れ替えるswapDepthsをいれましたが、深度の数字で指定するとリプレイした時に新しくできたレイヤーが残ってしまいます。ムービークリップのインスタンス名の指定では、ボタンを押すたびに変わってしまいます。一度、深度を指定して移動したレイヤーを元に戻すやり方はないでしょうか?深度の数字の求め方もよく、わかりません。

  • Flash
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

FLASHのバージョンはいくつでしょうか? MX以降ですと_root.xxx.getDepth(); で取得できます(MCインスタンスxxxの深度を取得)

Flash-love
質問者

お礼

バージョンはMXです。 おかげさまで、ご回答をヒントに何とか思うような動きに なりました。ありがとうございます。 お礼が遅くなってすみません。

関連するQ&A

  • ランダム配置のムービークリップが固定配置のムービーに被ってしまいます。

    背景にランダムで星を無数に配置して瞬かせ、その上にキャラクターのムービークリップを配置しているのですが、星のレイヤーよりキャラのレイヤーを上にもってきても、星がキャラクターに被って表示されてしまいます。星の方のムービークリップに、 n=Math.round(Math.random()*1000); this.swapDepths(n); 以上の様にスクリプトで深度の設定をランダムに設定しているのですが、キャラクターの方にはどのように設定したら星が被らない様に深度の設定ができるのかわかりません。どうかよろしくお願い致します。

  • 日付と時刻の取得、ムービークリップの読み込みについて

    あるFLASHファイル(例えば、hizuketozikoku.swf)を用意します。(?)の部分にどのような記述をすれば、(?)のフレームアクションによってローカルマシンの常に新しい日付と時刻(*月*日*曜日*時*分*秒)を取得し、また取得した日付と時刻に対応するライブラリのムービークリップを指定する場所に読み込ませる(例えば、1月1日日曜日1時1分1秒の場合は、gatuに1gatu、nitiに1niti、youbiにnitiyoubi、ziに1zi、hunに1hun、byouに1byouを読み込ませる)ことができますか。 使用ソフトは、FLASHMXです。よろしくお願いします。 ※ hizuketozikoku.swf  シーン1   レイヤー7 フレーム1 インスタンス名:byou   レイヤー6 フレーム1 インスタンス名:hun   レイヤー5 フレーム1 インスタンス名:zi   レイヤー4 フレーム1 インスタンス名:youbi   レイヤー3 フレーム1 インスタンス名:niti   レイヤー2 フレーム1 インスタンス名:gatu   レイヤー1 フレーム1 フレームアクション(?)  ライブラリ   レイヤー1からレイヤー7のムービークリップ(例えば、シンボル1からシンボル7)   1月から12月のムービークリップ(例えば、1gatuから12gatu)   1日から31日のムービークリップ(例えば、1nitiから31niti)   日曜日から月曜日のムービークリップ(例えば、nitiyoubiからgetuyoubi)   1時から24時のムービークリップ(例えば、1ziから24zi)   1分から60分のムービークリップ(例えば、1hunから60hun)   1秒から60秒のムービークリップ(例えば、1byouから60byou)

    • ベストアンサー
    • Flash
  • SharedObjectについて

    特定のファイルなど(※1)を用意し、SharedObjectという機能を使用して下記のこと(※2)を行うのは可能でしょうか。 また、可能な場合、どのような方法をとればよろしいでしょうか。 使用ソフトは、FLASHMXです。よろしくお願いします。 ※1 ローカルのMy Documentsフォルダの中にpaint1.exe(※2)とpaintフォルダ。 ※2 paint1.exe  レイヤー9 フレーム2 ムービークリップ(インスタンス名:canvas2)  レイヤー8 フレーム1・2 ムービークリップ(インスタンス名:canvas1) paintフォルダの中にpaint2.solがあれば、読み込む。  レイヤー7 フレーム2 ボタン(インスタンス名:なし) ボタンアクションによってcanvas2に描画した全てのものを消去する。  レイヤー6 フレーム2 ボタン(インスタンス名:なし) ボタンアクションによってcanvas1に読み込まれているものをcanvas2にコピーする。  レイヤー5 フレーム2 ボタン(インスタンス名:なし) ボタンアクションによってcanvas2に描画したものをpaintフォルダの中にpaint2.solとして保存し、同時にcanvas1に読み込む。  レイヤー4 フレーム2 ボタン(インスタンス名:なし) FLASHの消しゴムツールと同じようなもの。選択し、canvas2に描画したものの一部を消去する。  レイヤー3 フレーム2 ボタン(インスタンス名:なし) FLASHの鉛筆ツールと同じようなもの。選択し、canvas2に描画する。  レイヤー2 フレーム1 ボタン(インスタンス名:なし) ボタンアクションによってフレーム2に移動する。  レイヤー1 フレーム1・2 ムービークリップ(インスタンス名:なし)

    • ベストアンサー
    • Flash
  • ムービークリップ(以下mc)を複製したときの深度の設定で困っています。

    ムービークリップ(以下mc)を複製したときの深度の設定で困っています。 使用ソフト:Adobe Flash CS4 professional flashのバージョン:flashlite1.1 duplicateMovieClip(コピー元mc名,新mc名,深度(例えば10など)); と書いてmcの複製はしっかりできているのですが、深度を「レイヤー内で一番上」に設定したいのですが、どう設定していいかわからず困っています。 通常、レイヤーが3つある場合、重ね順で言うと一番上のレイヤーが最前面に、一番下のレイヤーが最背面に設定されています。 そこで、一番下のレイヤーに上記プログラムを書いて一番下のレイヤーにmcを複製したいのですが、複製したmcは一番上のレイヤーよりも最前面に配置されてしまうのです。 duplicateMovieClipを書いているレイヤー内で最上位に配置したい場合、深度にどのような設定をすればいいか教えてください。

  • マウスオーバーで全ムービークリップ停止

    上手く説明出来ないのですが、 ムービークリップのメニューを作ろうとしています。 マウスオーバーで全部のムービーが止まる様にしたくて、 一つのムービークリップに全部のムービークリップのメニューをまとめ、選択すると ーーーーーーーーーーーーーーーーここから シーン=シーン1,レイヤー=menu,フレーム マウスイベントはボタンインスタンスでのみ使用できます。 シーン=シーン1,レイヤー=menu,フレーム マウスイベントはボタンインスタンスでのみ使用できます。 ーーーーーーーーーーーーーーーーここまで とエラーになってしまいます。 だからといってメニュー一つ一つに on(rollOver){ stop(); } on(rollOver){ play(); } を記述しても、マウスオーバーしているメニューだけが止まって、 他のメニューは動いてぐちゃぐちゃになってしまいます。 ひとつのメニューをマウスオーバーするだけで他全部のムービークリップも停止、 マウスをはずすと同じ所から動きだす事って出来ますか? いい方法がありましたら教えて下さい。

  • ムービークリップで作成したボタンでCGIを表示させたいのですが・・・

    お世話になっております。 FLASH MX , WIN XP を使用しています。 FLASHで作られたお問い合わせフォームを編集しています。 ムービークリップインスタンスでできた「送信ボタン」にgetURLで KENTWEBのCGI「postmail」を読み込んで、メールを送信できるように したいと考えています。 ボタンインスタンスにCGIを読み込んだ時は、正常に変数を読み込み 入力内容をメール送信できるのですが、ムービークリップ インスタンスにCGIを読み込むと、変数を読み込めず「不正な処理」 となりエラーになってしまいます。 ムービークリップインスタンスでできたボタンでcgiを読み込む事は できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Flash
  • 外部ムービーの読み込みについて

    特定のファイル(※1)を用意した上で、下記のことを行うには、どのような方法をとればよろしいでしょうか。 kiso1.exeを開くことで、kiso1.exeのレイヤー2とレイヤー3にkiso2.swfを読み込み、kiso2.swfのボタンアクションによってnet1.swfを読み込む。net1.swfのボタンアクションによって同じネット上にあるFLASHファイルを読み込み、またそのFLASHファイルのボタンアクションによってnet1.swfを読み込む。これらのファイルの中でkiso.exeの以外のものは、他人に作成させることも考えており、kiso1.exeに読み込ませるFLASHファイルのファイル名のみkiso2.swfと同じにすれば、kiso2.swfの設定(loadMovieのURLを変えるなど)によって読み込むFLASHファイルが管理外のネット上にあっても同様のことが行えるようにする。なお、kiso1.exeのレイヤー3に直接net1.swfを読み込ませることはできました。 使用ソフトは、FLASHMXです。よろしくお願いします。 ※1 ローカルのMy Documentsフォルダの中にkiso1.exe(※2)とkisoフォルダ。kisoフォルダの中にkiso2.swf(※3)。管理するネット上にnet1.swf (※4)。 ※2 下のレイヤーからレイヤー1、レイヤー2、レイヤー3。レイヤー1は、名前がシンボル1のムービークリップ。レイヤー2は、名前がシンボル2で、インスタンス名がusiroのムービークリップ。レイヤー3は、名前がシンボル3で、インスタンス名がmaeのムービークリップ。 ※3 シンボルにインスタンス名がなく、レイヤー3のシンボルがボタンであること意外、kiso1.exeと同じ。 ※4 レイヤーが2までしかなく、レイヤー2のシンボルがボタンであること意外、kiso2.swfと同じ。

    • ベストアンサー
    • Flash
  • ボタンを押した時、外部swfを読み込み

    ムービークリップ内のボタン(写真のサムネイル)を押した時、外部.swf(写真やコメントを書いたswf)を読み込もうとしております。 _rootに空のムービークリップを配置し、インスタンス名を load_mcと指定。 _rootに配置したムービークリップの中に配置してあるボタンに on (release) { this._parent.load_mc.loadMovie("comment.swf"); } と書きました。しかしボタンを押してもcomment.swfが表示されません。 解決方法をお教えください。よろしくお願いいたします。

  • 3D回転

    中心に球をを置き、その周りを文字をMovieClipにし 3D風に回転させたいと考えております。 第1フレームに"球"のMovieClipインスタンス(こちらは単にMovieClipに変えないと、swapDepthsの処理が出来ないと思い変換しただけです)、その一つ上のレイヤーに文字のMovieClipインスタンス(こちらは、各文字に前記させて頂きましたスクリプトをMovieClipアクションとして記入)を置いております。そして文字のMovieClipインスタンスを、球の後面に向かう時(入る時)にswapDepthsを使い深度を入れ替えてやると、球の周りを回っている感じになるかなと思ったのですが。。イメージとしましては、某有名テーマパーク(US○)に置かれています地球の周りを、ロゴが回っている感じにしたいのですが。。 asは1.0を使用。 MovieClipには以下のスクリプトを記入。 onClipEvent (load) { degree = 330; r = 100; centerx = 640; centery = 110; } onClipEvent (enterFrame) { radian = Math.PI/180*degree ; this._x = centerx+r*Math.cos(radian); this._y = centery+r*Math.sin(radian)/3; this._yscale = this._xscale=this._alpha=this._y; this.swapDepths(0); degree+= 10; } this.swapDepths(0);を用い、深度を入れ替え表現しようとしたのですが、球に回り込むような表現にはなりません。 と、いいますかMovieClipが点滅してしまうのです。 目指しているのは、MovieClipが某有名テーマパークみたく、球に回り込むような感じです。 どうか、宜しくご教授のほどお願い申し上げます。

    • ベストアンサー
    • Flash
  • this._x と this._yをドラッグした後の値に変更したい

    バージョンはFLASH8です。 attachMovieメソッドでインスタンスを作成しました。 インスタンスは複数あり、作成した後にドラッグして場所を入れ替えます。 それぞれのインスタンスを衝突判定します。赤い箱のムービークリップに衝突したら、インスタンスは箱に入り、青い箱に衝突したら元の場所に戻るようにしたいのです。 どうしても、その「元の場所」が移動した後の座標ではなく、最初にインスタンスを作成した座標になってしまうので、困っています。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • Flash

専門家に質問してみよう