- ベストアンサー
MC内から_rootへのgotoAndPlay
- FlashCS3、AS2.0を利用して、ホームページのトップ画面を作成しました。_rootに15個のレイヤーに分けたMCを配置し、制御を行っています。_rootの2フレームにASを記述し、swfを読み込みます。
- MC(1)内にあるMC(2)をボタンとして使用しています。_parent.swapDepths(95)、_parent.gotoAndPlay('n1')を実行すると_mc(2)が反応し、_rootにある別レイヤーの枠が大きくなるようにしたいのですがうまく動きません。
- さらに、読み込んだswfが消えず、MC(1)を再度クリックすると音が2重になって流れる問題も発生しています。上記の問題について、解決方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
音の件はちょっと無視させてもらって。 > _rootにMC(1)があり、その中のMC(2)をボタンとして利用していて、 > … … > 読み込んだswfの上に別レイヤーでWindowの枠があり、 > MC(2)がon (release)時にswfの映像が消えて、 > 枠が大きくなる様にしたいのですが動いてくれません。 > … … > 小さくなったMC(1)を再度クリックすると つまり階層図にすると次のようになっているということですね。 _root └MC(1) ←on(release){…} └MC(2) ←on(release){_root.gotoAndPlay("m")} そして,MC(2) の方の on(release){…} が動作しない。 というわけですね。 それは当然MC(2)の on(release){…} は無効になります。 ボタンが2つ重なっているのですから(↓図)。 どのソフトでもまたOS機能も同じだと思いますよ。 上下に重なったボタンは普通上側しか有効ではありません。 こういう場合は 定石手段としてムービークリップとマウスの hitTest を使います(使わなくてもできますが使うのが一般的です)。 使うのは MC(1) でも MC(2) でも良いですが, MC(2) の方は on(○○){…} がたくさん使われていて大変な状態になっていますから, hitTest で解決するのは難しそうです。 MC(1) の方には何が書いてあるのかわかりませんが, もし MC(1) に on (release) { ×××(); } と書いてあったとするなら, それを onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { ×××(); } } に変更すれば, 少なくとも MC(1) の on(release){…} は削除することができるので, MC(2) の方の on(○○){…} が有効になるかもしれません。 MC(1) に他の on(○○){…} が書いてあった場合はダメです。 MC(2) の on(○○){…} は有効にならないでしょう。 on(press){…} の代用となる onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { ×××(); } } や何かと組み合わせるなどして, MC(1) の on(○○){…} を全て削除する必要があります。 --- --- --- --- --- --- > 小さくなったMC(1)を再度クリックすると > 音が再度読み込まれ2重になって流れます。。。 そうなってしまうと不都合だと思うのは, おそらく質問者さんの "今だけ" の主観だと思いますよ。 「音を消す命令や設定もせずに勝手に音が消える方が良い。」 普通考えると,こうなっている方がバグに近いものかもしれません。 次々に違う音や同じ音などを重ねたい場合もあるでしょう。 そんなときに前の音が勝手に消えてくれれば困ります。 音の再生の方法はものすごくたくさんあります。 どうやって音を再生させていらっしゃるのかはわかりませんが, 音をロード?再生する前にそれまでの音を消せば良いのではないかと思います。 場合によっては強力すぎて使えないかもしれませんが, stopAllSounds(); という強力な関数もあります。 (仮にSoundオブジェクトに音をロードした場合は, ロードした音を消すのではなくて Soundオブジェクトごと消してしまう関数です。) --- --- --- --- --- --- 質問する際もそうですが, 作っている最中であっても問題をシンプルにしないと解決しません。 単純なもので実験してみることをお薦めします。 ボタンの件もそうですが音もそうです。 音だけで色々と実験検証すべきでしょう。 野中文雄さんの 「質問NGワード集」 http://www.fumiononaka.com/TechNotes/NGWords.html より 【問題を切分けない】&【問題を単純化(シンプルに)しない】 http://www.fumiononaka.com/TechNotes/NGWords.html#Mo
お礼
有り難うございます!! ご参考にして色々試してみます!! 分かりづらい質問で申し訳有りませんm(_ _)m またご質問させて頂く事があるかと思いますので 宜しくお願い致します!!