• ベストアンサー

loadMovieNum()について

FlashMX(MacOS9.1)で質問です。 loadMovieNum()で外部swfファイルを読み込ませたいのですが、これは_root上にしか読み込まないのでしょうか? インスタンス(MC)の中に読み込ませたいと思っているのですが、読み込んでくれません。 詳しい方、よろしくお願いします。 ▼ボタンに以下のスクリプトを記述(インスタンスxxxxに読み込ませたい) on(press){ _root.xxxx.loadMovieNum("001.swf",1) }

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

  • ベストアンサー
  • Qsans
  • ベストアンサー率48% (28/58)
回答No.5

わかりました!たぶん... on(press){ _root.loadMovieNum("001.swf",1) _level1.xxxx(インスタンス名) } あとは、参考URLで

参考URL:
http://village.infoweb.ne.jp/~ginga/flashhelper/flash5/lm_targetpath.html
noname#236902
質問者

お礼

ありがとうございます。 on(press){ _root.loadMovieNum("001.swf",1) _level1.xxxx(インスタンス名) } は、試行錯誤していますが、なかなかうまくいきません。 参考URL見ました。 > loadMovie を実行すると、ターゲット先のムービークリップの中身が、新しくロードするムービークリップに置き換わります。中身は変わっても、プロパティはそのまま継承します。したがって、ムービークリップ名は loadMovie の前と後で変わることはありません。 とありますね。 これでいいんですが、やると成りすましてくれないんです。きっと私のやり方がまずいんだと思うんですが。

noname#236902
質問者

補足

お世話になりました。 結局、読み込みたいMCの中にさらにMCを作って、そこにloadMovie()で読み込ませたら何とかなりました。 レベルの話は私の頭ではまだ理解ができないようです。 Qsansさんの御尽力にポイントを差し上げたいと思います。また困っているときはよろしくお願いします。 ありがとうございました。

その他の回答 (4)

  • Qsans
  • ベストアンサー率48% (28/58)
回答No.4

一つ一つの軽いMCを徐々に増やしていきたい...でも、外部のムービーのMCをメインフレーム上で制御していきたい。 私的には、今できる方向(外部ムービーのMCを使わない)で、ひとつのSWFで構成させて見て、容量がどうしても大きくなりすぎたら、また、考え直すということが望ましいと思いますよ。(コンテンツの更新ごとに、ひとつのファイルを丸ごと更新する) どちらにしても、WEB上でコンテンツを表現するには、データ量も気になりますが、あまりにも複数のMCを同時に動かすことは、一つ一つがたとえ小さくても、エンドユーザーのCPU負担は、相当なものになるはずです。 もし、ハイエンドユーザーのみを対象なら、もちろん、外部であれ、内部であれ、MCを複数使った重いコンテンツは、問題ないと思いますけど。 もしかしたら、外部ムービーを一度に制御することは、私の想像以上にスクリプトなどを駆使するかもしれませんね。

noname#236902
質問者

お礼

何度も恐縮です。 私もAction Scriptを十分に理解できていないし、もっといろいろ研究してみます。仕事が絡んでいるのであんまり悠長なことは言っていられないのですが。 しばらく締め切らずにいますので、またヒント等ありましたらお願いします。 ありがとうございました。

  • Qsans
  • ベストアンサー率48% (28/58)
回答No.3

だんだん自信がなくなってきましたが... もしかして、参考URLのようなタイプのコンテンツの仕組みに似ていますか? 外部ムービーは、その中にMCがあれば、ドラックなどのアクションができます。でも、内部に作るMCと違って、一般的には、 1外部ムービー=1MC(ムービークリップ)として扱って、コンテンツを構成します。 ですから、複数のムービーを同時に表現するには、ルート(階層)上の番号が増えることにもなります。 たとえば、100個の図形の外部ムービーをひとつひとつ載せていくには、 on(press){ _root.loadMovieNum("001~100.swf",1~100) ←階層 } このように管理することになります。

参考URL:
http://bb.biglobe.ne.jp/
noname#236902
質問者

お礼

回答ありがとうございます。自信なくさないで下さい。 参考URL面白いですね。自分でカスタマイズが自由にできるんですね。 私のやろうとしていることに似ていると言えば似ています。が、配置したウインドウの背景にさらにそれらを乗せている大きなボードのようなものを置き、それをドラッグするとボードに乗っているウインドウが全部まとめて動いたり、拡大縮小させたりしたいと思っています。(ウインドウはそれぞれ各自でも動く) それでボードが1種類だけならできたのですが、そのボードを外部から読み込んで、あれこれ替えられるようにしたいんです。(ウインドウは内部にあらかじめつくっておき、attachMovieで配置しています。) 根本的にやり方を変えないといけないのかなーと思っています…。どうでしょうか?

  • Qsans
  • ベストアンサー率48% (28/58)
回答No.2

補足 メイン上(内部ムービー上)のMCに外部ムービーを指定することはできないと思います。 そのMC自体を外部ムービーとしての役割に換えればいいのではないでしょか? 残念ながら、どのようなコンテンツか分らないので、他の応用方法が適切にアドバイスできないですね。

noname#236902
質問者

お礼

なんども回答ありがとうございます。 外部ファイルにこだわるのは、その数が非常に多くなりそうだからです。1つ1つは軽いのですが、随時増えていく予定だからです。 どのようなコンテンツかということは、ざっくり書くと、外部からいろんな図形パターンのMCを読み込んで来て、それにあらかじめメニューにあるオブジェクトを任意に配置、ドラッグで移動、変形、配置したものも含め全体を拡大縮小、ドラッグで移動、させたいというものです。わかりますか? 配置したものを全体と一緒に動かすようにするため、メニューから配置するオブジェクトを、配置用のMCに配置しています。よってloadMovie()にすると、配置用のMCがそっくり入れ代わってしまうため、インスタンス名が消えてしまいうまく動作しません(外部から読み込んだファイルそのものにインスタンス名はつけられませんよね?)。なので、loadMovieNum()を使って、もとのMCを消さずに重ねて読み込もうとしたんですが。考え方が悪いのでしょうか? 何かよいアイデアがあったら教えていただきたいです。

  • Qsans
  • ベストアンサー率48% (28/58)
回答No.1

参考までに LoadMovieの読み込みで、基本的には、外部ムービーを内部ムービーの階層に指定する(取り込む)ものだと思います。 <外部ムービーの中のひとつのMCを指定する方法> LoadMovieで読み込ませたムービーの最初のフレーム(たとえば、空白のキーフレームなど)に、MCを指定するTelltargetアクションを設定することで、間接的にパスを通すことも一つの手です。 (スクリプトとしては、単純ですが、まず、外部ムービーを指定してから、外部ムービー内で、MCを指定するパスを指定する。) おそらく、あなた様が、そこまで外部ムービーにこだわるのは、内部でのMC指定するには、容量が大きいコンテンツだからと思いますが...

関連するQ&A