• ベストアンサー

重ね順を変えたい

http://www.ntv.co.jp/zoomin/profile/index.html このようにFLASHを作りたいのですが重ね順をクリックしたら、重ね順が変わっていますよね どうしたら出来るですか? FLASHmxを使用しています

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

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

MovieClip オブジェクトが持っている swapDepths という命令(メソッド)で、重ね順を変更できます。 swapDepths はムービークリップインスタンスでなければ使えません。 各ボタンはムービークリップシンボルで作ってください。 Flash では重ね順は深度と呼ばれています。 ムービークリップだけでなく、ボタンやテキスト・描画ツールで描いた絵(シェイプ)などムービー内の全てのオブジェクトには、どれとも重複することのない深度が割り当てられています。 深度は -16384 から 1048575 の数値で表し、大きい数値の深度を割り当てられているものほど上に重なって表示されます。 最も下の -16384 は _root 、つまりムービーそのものが占有します。 ステージにある絵やムービークリップ(いわゆる”オブジェクト”)は、レイヤーの順序や描画または配置した順番・ムービークリップの親子関係をもとに、-16383 から順に固有の深度が割り当てられます。 swapDepths は深度を入れ替えるメソッドです。 特定のムービークリップインスタンスを指定するか、深度を直接指定することで重ね順を入れ替えます。 (ただし、同じ階層に属するもの同士に限ります) 数値で深度を指定した場合、既に他のオブジェクトが占有している深度であればそのオブジェクトと自分の深度が入れ替わります。 どのオブジェクトも占有していない深度を指定すると、自分の深度だけが変更されます。 ステージに配置したものは、先述の通り -16383 から順に深度が割り当てられます。 配置されているオブジェクトの数にもよりますが、一般的にはステージ上のオブジェクトは負の深度を持っていますので、swapDepthsで 0 以上に変更すると一番上になります。 なお、深度は連番になっていなくても構いません。 ------------------------------------------------------------------ ご提示の作品では、マウスのカーソルを重ねると一番上になり、カーソルが外れると元の重ね順に戻ります。 これは、最初に自分に割り当てられた深度を変数に保存しておいて、カーソルが重なった時に深度を一番上に変更し、そしてカーソルが外れた時には保存しておいた元の深度に戻すことで実現できます。 深度を取得するには getDepth というメソッドを使います。 カーソルが重なった / 外れたかどうかを検出するには、rollOver と rollOut イベントを利用します。 スクリプトにしてみますと、大体、次のようになります。 マウス操作により重ね順を変更したいオブジェクトを全てムービークリップシンボルとして作り、同じタイムライン(例えばステージなど)に配置してください。 このスクリプトは、全てのムービークリップのインスタンスに設定してください。 ここでは割愛させていただきますが、インスタンス名を工夫して付けると、for ループと on*** = function という書き方でまとめてスッキリと定義することもできます。 (↓各行頭に全角のスペースが入っています。コピーする際は、全て半角のスペースかタブに置き換えてください)  onClipEvent(load)  {   //最初に割り当てられた深度を保存する   depth = this.getDepth();  }  //ロールオーバーで、最も上に移動する  on(rollOver)  {   this.swapDepths( 0 );  }  //ロールアウトで元に戻す  on(rollOut)  {   this.swapDepths( depth );  } ”一番上にする”とは、要するに、他のどれよりも大きな数値の深度を割り当てればいいわけです。 Flash Player 7 (作成ツールは MX の次世代にあたる Flash MX 2004 )以降ではスクリプトで現在最も上にあたる深度を取得できるのですが、MX ではこのスクリプトは使えませんので、とりあえず 0 を割り当てることで一番上にしています。 attachMovie や createEmptyMovieClip メソッドで他のムービークリップに深度 0 を割り当てているなど、深度 0 が既に占有されている場合は、0 以外で不都合のない数値を指定してください。 正の数であれば、ステージに配置したオブジェクトとの深度の衝突はまず起こりません。

sachi225
質問者

お礼

大変よく分かりました どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ボタンの重ね順

    こんにちは。当方Flash MX Professional 2004を使っているのですが、今ボタンを使ってメニューを作成しています。 そこで質問なのですが、ボタン同士がデザイン上いくつか重なっているところがあるのですが、その重ね順をマウスポインタを上に置くか、クリックした場合、クリックした(またはマウスポインタを置いたもの)が一番上に来るようにしたいのです。 何かいい方法はありませんでしょうか?action scriptで、press(on){}, press(rollOver){}というのを発見したのですが、ボタンの重ね順を一番上にするスクリプトが分かりません。 お願いしますm(_ _)m

  • またまた質問です

    http://www.ntv.co.jp/zoomin/profile/index.html このようなものを作ろうとしていますが 矢印をクリックしたら横にスクロールするというやり方がよく分かりません よろしくお願いします 初心者で毎回このサイトを活用しています

  • 横にスクロールしたい

    http://www.ntv.co.jp/zoomin/profile/index.html このようなものを作ろうとしていますが 矢印をクリックしたら横にスクロールするというやり方がよく分かりません よろしくお願いします 同じ質問したんですがいまいち出来なかったで再び質問します 初心者で毎回このサイトを活用しています

    • ベストアンサー
    • Flash
  • dreamweaver レイヤーの重ね順について

    こんにちは。宜しくお願いします。 OS:ウィンドウズXP dreamweaver8使用 レイヤーの重ね順についてなのですが、FLASHの上にbmp画像を配置したいのですけれど、それが出来ずに困っています。 両方が完全に重なる配置ではなく、FLASHの一部にbmp画像の一部がちょこっと乗っている感じにしたいと考えています。 FLASHとbmp画像をレイヤーに入れてレイアウトして 次にレイヤーパネルでZインデックスを調整して、FLASHの上にbmp画像が乗る様にしているのですが、IEでのプレビュー・一度サーバーにアップしてから該当ページにアクセスして見ると、FLASHの方が上になっています。 試しにジオシティーズのHPソフト、ジオクリエーターで編集・Zインデックスの調整をしてみても、FLASHの方が上になります。 FLASHの上にjpgやbmpを乗せることは出来ないのでしょうか?  

  • JavaScriptのプルダウンメニューとFLASHの重ね順

    ページのメインメニューをJavaScriptで作成したプルダウンメニューにして、ページの上端に配置しました。そしてそのすぐ下にFLASHムービーを配置したんです。 で、実際にページを表示してみたところ、メニューボタンにマウスアップして出てきたプルダウンメニューがFLASHムービーの下に隠れてしまったのです。 これではメニューが選択できないです。。。 FLASHとの重ね順を設定することってできるんでしょうか?

    • ベストアンサー
    • CSS
  • MCの重ね順について質問です。

    こんにちわ。さっそく質問させていただきます。 使用しているOSはWindows7 FlashはCS3アカデミックです。 現在、写真を無限スクロールするFlashを制作しています。 レイヤー2に固定で動かない紹介文 レイヤー1にスクロールし続ける写真 上記の様な重ね順になっています。 これなら普通にレイヤー2にはかぶさってこないのですが、 無限ループさせるために photo.duplicateMovieClip("photo2", 1); photo._x = +photo._width; speed = 5; this.onEnterFrame = function() { photo._x -= speed; photo._x -= speed; if (photo._x>photo._width) { photo._x = photo2._x-photo._width; } if (photo2._x>photo2._width) { photo2._x = photo._x+photo2._width; } }; みたいな感じで、写真をアクションスクリプトで複製させループしているようにみせています。 これでやると、複製された写真がスクロールされるとき、なぜかレイヤー1にかぶって表示されてしまいます。 レイヤー1を絶対的に最前面に表示させている状態で、後ろの写真をスクロールさせ続ける方法はありますでしょうか? ご教授お願い致します。

  • FLASH MX 重ね順の変更について

    複数あるドラッグ可能なMCで、クリックすると最前面に来るように指定したいのですがスクリプトが思いつきません。アドバイスをいただけると嬉しいです。FLASH MXを使用しています。 よろしくお願いしますm(_ _)m

  • photoshopCS5 レイヤーの重ね順変更

    photoshopCS5使用です。レイヤーの重ね順の変更について質問です。 レイヤーパレットから移動したいレイヤーを選択し、任意の場所に上下移動しているのですが、レイヤー数が多い場合、レイヤーパレットが長くて、場所が分からなくなったり、移動に手間取ってしまうのですが、簡単な移動の仕方があれば教えてください。 例えばFireworksで画像Zを画像Aの上に乗せたい場合、画像Zを選択し、切り取って、画像Aを選択し、貼り付ければ、レイヤーパレットで画像Aの上だか下に画像Zが移動できます。 photoshopでそういう方法はありますか? よろしくお願いします。

  • どうふうに作るの?

    http://www.ntv.co.jp/z-sat/ メニューのようなものを作りたいのですが作り方が分かりません どうしたらいいのかを教えてください FLASHmxを使用しています

  • IllustratorCS6 重ね順について

    Mac OSX IllustratorCS6を使用しています。 画像の左端のキティちゃんについて。 これは下から、手、ボディ、顔の順に重なっていると思うのですが 最下位の手の一部分のみ(親指あたり)が、最上部の顔の上にきています。 普通だと手の先はボディに顔に隠れてしまうと思うのですが このように重ねるにはどうすればいいのでしょうか? どうのような機能を使えばこのようになりますか? キャラクターを描きたいのですが、 こんな風に重ねたい事が多く、悩んでいます。 詳しい方、教えてください! 宜しくお願いいたします。

このQ&Aのポイント
  • 源泉徴収票を印刷する際、配偶者の氏名や控除額が表示されるが、丸印がつかない理由について疑問がある。
  • 源泉の編集画面では丸印がついているが、印刷時にはつかない。違う年度での登録などが必要かどうか知りたい。
  • 現在、前後の扶養控除も入力しているが、まだ反映されていない状況である。解決策を教えてほしい。
回答を見る