• ベストアンサー

トゥーインで動くMCへ、外部swfをloadMovie

どなたか教えて下さい。 【例】 stage(W=400XH=200)の大きさの元swf上に、W=200,H=100の大きさのMC(インスタンス名は"aa_mc")を、右端から左端へ、モーショントゥーインを使って移動します。 単純に5フレーム使って移動して、5フレーム目で左端にきて「stop」します。 そのaa_mcの下に、ボタンがあり、そのボタンに on (release){ _root.aa_mc.loadMovie("gaibu.swf"); //gaibu.swfは同じフォルダ内にあるaa_mcと同じ大きさのswf } で、読み込ませたいんですが、aa_mc自体が動いている瞬間に一瞬だけ表示されてすぐに消えてしまいます。 厳密に言えば、_rootの1フレーム目くらいで表示され、4フレーム目くらいには消えてしまうんですが、これってどうすれば直るんでしょうか? どなたか教えてください! FRASH MX 2004を使っています。 お願いします。

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

  • ベストアンサー
  • perse
  • ベストアンサー率74% (113/152)
回答No.3

gaibu.swfは何フレームかあるのでしょうか? もしgaibu.swfで_root.stop()を使用しているなら _lockrootを設定する必要があります。 読み込む側に書くなら_root.aa_mc._lockroot=true、 読み込まれる側(gaibu.swf)に書くならメインタイムラインにthis._lockroot=trueです(_root._lockrootではだめ) これで解決しないようであれば、5フレームを1フレーム(aa_mcを動いていない状態)にしてみたり、 30フレームくらいにして読み込まれてから4フレーム後に消えてしまうかを確認してみたり、 unloadMovieなどのASがどこかにかかれていないかを確認してはどうでしょう。

fe2-dicapoo
質問者

お礼

gaibu.swfはそれぞれ5~10フレームくらいのものです。画像が主なので、総バイト数を抑えるために、あえて外部にして読み込ませようという試みです。 スライド式で動くメニュー(aa_mc)、その動きが止まった瞬間に、外部を読み込んで表示させたいのです。

その他の回答 (3)

  • suzuko
  • ベストアンサー率38% (1112/2922)
回答No.4

#2です。 あら?参考にしてもらおうと、作った作品のURL削除されていますね。^^;

fe2-dicapoo
質問者

お礼

参考URL、とても助かってますよ~~

  • suzuko
  • ベストアンサー率38% (1112/2922)
回答No.2

#1です。 >5フレームってのは、例ですよぉ(^_^) 失礼。^^ 取りあえず、書かれているような感じで再現してみました。(フレーム数はもっと) 変更した点はボタンに on (press) {  this.play(); } 加え、 on (release){ this.aa_mc.loadMovie("gaibu.swf"); } にしたぐらいでしょうか? 何故か「gaibu.swf」の背景色は読み込まれませんが・・・一応出来てますよね? 何故でしょうね? ちなみに、「aa_mc」には_lockroot = true; は書いていません。最終フレームに this.stop(); って入れましたけど・・・(これがないと確かに消えてまた出る感じにはなります) 参考URLで聞かれた方が良いかも・・・

参考URL:
http://www.flash-jp.com/
fe2-dicapoo
質問者

お礼

ありがとうございます。参考URL先でいろんなトピックを眺めながら、自分の作ったものと比べ検討しています。 まだ、一瞬表示されて消えてしまう現象は変わってませんが、ここまで来たらとことん原因を突き詰めてみようと思っています。

  • suzuko
  • ベストアンサー率38% (1112/2922)
回答No.1

こんにちは。 多分、aa_mcの基準点が左上になっていないのではないでしょうか? swfファイルの基準点とずれてしまい、綺麗に読み込めないのだと思いますが? どうでしょう? それにしても、5フレームだけって・・・fpsは幾つなんでしょう????

fe2-dicapoo
質問者

お礼

5フレームってのは、例ですよぉ(^_^) 基準点は左上で間違いないです。 一瞬だけ表示されて、それで消えちゃうんですよねぇ。 読み込まれる側のMCの_lockroot = true;にしてますけど、関係ないですか?