xmlを使った外部swfファイルの読み込み方法

このQ&Aのポイント
  • xmlを使った写真スライドショー形式のFlashを作成しましたが、複数のswfファイルを1つのswfにまとめる際に問題が発生しています。
  • 3つのswfファイルをloadMovieで読み込んでいますが、写真が表示されません。可能性としては、xmlファイルの読み込みに問題があるかもしれません。
  • 全てのswf、xmlファイルは同じディレクトリに置かれていますが、なぜ写真が表示されないのかわかりません。ご意見をお待ちしています。
回答を見る
  • ベストアンサー

xmlを使った外部swfファイルを読み込む方法

xmlを使って写真をスライドショー的に見せるFlashを作りました。 A.swf→a.xmlを読み込み B.swf→b.xmlを読み込み C.swf→c.xmlを読み込み この3つはファイルをコピペして作ったもので、中身の構造は全く同じです。 これを1つのswfにまとめたいので、container.swfというファイルを作り、 上の3つのファイルをloadMovieで読み込むようにしましたがうまく表示されません。 A、B、Cのswfファイルは読み込まれているようなのですが、写真が出てこないという状態です。 xmlが読み込まれていないのかな、と推測してるのですが…。 全てのswf、xmlファイルは同じディレクトリに置いてあります。 お分かりになる方がいらっしゃいましたら、アドバイスよろしくお願い致します。

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

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

> お分かりになる方がいらっしゃいましたら、 > アドバイスよろしくお願い致します。 ファイルの階層構造を変えていないのでしたら, おそらくインスタンスの階層構造の変化が表示させない原因となっているのだと思いますが, 全体の構造がわからないので, なぜ読み込まれないか分かる人はいないでしょう。 また,ご使用の Flash のバージョンもわかりません。 原因はわかりませんが, インスタンスの階層構造の変化が原因である場合, なおかつ,Flash MX 2004 以上をお持ちで, Flash Player 7 以上の SWF をパブリッシュしようとされている場合であれば, A.swf ~ C.swf のフレーム1の最初の行に, this._lockroot = true; と書いてみてください。 これで,A.swf ~ C.swf の _root は, そのファイル(読み込まれた場合はムービークリップ扱い)内で, _root が ロック されますから,階層の構造変化がなくなると思います。 Flash CS3 ドキュメンテーション _lockroot の使用 http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001110.html ↑ココには書かれていませんが, _lockroot プロパティは Flash Player 7 以降にパブリッシュする場合のみに有効です。 これで解決するかどうかはわかりません。

ruby1024
質問者

お礼

教えていただいたとおり、個別のswfに this._lockroot = true; と書き加えてみましたら、無事表示されるようになりました!! 拙い質問の仕方にもかかわらずアドバイスいただき 大変助かりました。どうもありがとうございました!

関連するQ&A

  • xmlでswfを読み込むには?

    flashでスライドショーを作っています。 同じフォルダにxmlファイルを作って指定した写真を取り込むようにしています。 そしてその写真のタイトルもフラッシュ内に表示されるところまで作りました。 xmlは以下のようなものです。 <?xml version="1.0" encoding="utf-8"?> <Photo> <picture image="photo01.jpg">タイトル01</picture> <picture image="photo02.jpg">タイトル02</picture> </Photo> そこで、画像とタイトルを読み込むだけでなく、 タイトルごとに別のswfファイル(ボタンを含んだswfファイル)も読みこむようにしたいのですが、 どのようにしたら良いでしょうか? わかる方いらっしゃいましたら、どうぞよろしくお願いします。

  • SWFファイルの先読み方法

    FlashのSWFファイルの先読み方法についての質問です。 1~8までの各地域の地図を作り、 各地図の中のボタンをクリックすることで、 1~8それぞれの地域地図を呼び出して 表示しています。 この地図が表示されるときに、 時間がかかってしまう時があるため、 SWFファイルを先読みさせようと思っています。 現在 一番最初のSWFファイルに _root.dammy._visible = false ; _parent.loadMovie("1.swf"); _parent.loadMovie("2.swf"); _parent.loadMovie("3.swf"); _parent.loadMovie("4.swf"); _parent.loadMovie("5.swf"); _parent.loadMovie("6.swf"); _parent.loadMovie("7.swf"); _parent.loadMovie("8.swf"); といった具合に書いていますが、 どうもうまく読み込んでいないようです。 どなたかご存知の方、教えてください! FlashはFlash8 PCはWindowsXPです。

    • ベストアンサー
    • Flash
  • 入れ子のSWFファイルを閉じたい

    Flashにて、スライドショーを作成しています。 入れ子にして、画面の中にスライドショーのSWFファイルを読み込んでいるのですが、そのスライドショー画面上で、endボタンを押すと、スライドショーのSWFファイルを閉じて、元の画面だけにしたいのですが、どうやって閉じていいのかわかりません。 endボタンにどのようなアクションを割り当てればいいのでしょうか? よろしくお願いします。

  • 外部swfのラベル移動

    FLASH MX2004で作成しています。 main.swf上のload_mcのレベル0に、外部swfのA.swfを読み込んでいます。 #main上のフレーム this.load_mc.loadMovie("A.swf", 0); A.swfが終わると同時に、main.swf上のload_mcのレベル1に、外部swfのB.swfを読み込みます。 #A.swfの最終フレーム stop(); _root.load_mc.loadMovie("B.swf", 1); ここまではできています。 その後、B.swf内のcontentsというMC内のラベルをlabel2に移動させたいのです。 #A.swfの最終フレーム stop(); _root.load_mc.loadMovie("B.swf", 1); _root.load_mc.contents.loadMovie("label2"); これができません。 _root.load_mc.contents.loadMovie("label2"); _root.contents.loadMovie("label2"); _root.load_mc.loadMovie("label2"); load_mc.contents.loadMovie("label2"); contents.loadMovie("label2"); なども試してみましたが、うまくいきません。 わたしの頭ではこれが限界です。 ぜひともお力お貸しください!

  • 外部swfを読み込んだときのずれ

    flashのファイルにムービークリップ(a_mc)を置き、そこに外部からswf(b.swf)を読み込みたいのですが、どうしてもそのムービークリップに重ならず、ずれてしまいます。メインの画面(540pix×540pix)の左上にくっついてしまう状態です。a_mcとb.swfのサイズを同じにして(225pix×300pix)基準点を左上にしてみてもだめです。 フレームアクションはこんなかんじです。↓ loadMovie("b.swf", "a_mc"); 外部から読み込んだファイルの位置を座標指定できるような方法など、わかる方がいらっしゃったら、よろしくお願い致します。

  • 外部swfが表示されません

    FLASH初心者です。 いろいろと調べながら、外部swfを取り込んだswfの作成にチャレンジしています。 今連続する外部swf(子swf)を a.swf b.swf c.swf として作成し、それらを表示させるための親swfを下記のように作成しているのですが表示されません。 親swf作成の作業としては 1.a.swfを外部から取り込んで表示させるためにムービークリップを作成 『挿入』⇒『新規シンボル』⇒『新規シンボルの作成』で名前:mc1 タイプ:ムービークリップとしてシンボルを作成。 2.b.swf、c.swfにもムービークリップを作成 1.同様にし、 b.swfのシンボル名を“mc2”、インスタンス名を“mc2” c.swfのシンボル名を“mc3”、インスタンス名を“mc3” 3.シンボル“mc1”の1フレーズ目に loadMovie("a.swf","mc1"); とアクションスクリプトを入力。 4.シンボル“mc2”、シンボル“mc3”も同様にしてそれぞれ loadMovie("b.swf","mc1"); loadMovie("b.swf","mc3"); と入力。 5.ステージ上に新規レイヤー“MC1”・“MC2”・“MC3”を作成。 6.“MC1”レイヤーをタイムライン上の1フレーズ目で『キーフレーム』に変更し、ライブラリから“mc1”をステージ上へドラッグして配置。 7.レイヤー“MC2”・レイヤー“MC3をそれぞれ12フレーズ目、24フレーズ目で同様にキーフレームを作成して“mc2”・“mc3”を配置。 子swf単体では表示されるのですが、上記の親swfはムービープレビューしても何も表示されません。 どのようにすれば子swfが親swfで表示されるようになるのでしょうか。 ちなみに子swfファイル・親swfファイルは全て同じフォルダ内にあります。 環境 OS:WindowsXP アプリケーション:FLASHI MX 7.2 よろしくお願いします。

  • swfファイルをフルスクリーンで起動さしたい

    windows2000 FLASH MX FLASHで写真画像(800×600)を順次表示するスライドショーをswfファイルで作成しました。 私のPCモニターは解像度が1024×768ですので、このswfファイルをFlash Player6で表示さすと、800×600のウィンドウ枠付きで表示されます。 100%のフルスクリーンで表示さしたいのでメニューの「表示」から100%とフルスクリーンにチェックを入れて操作しています。 「ESC」キーを押すと又元のウインドウ枠付き表示に戻ります。 そこでこのメニューの「表示」から100%とフルスクリーンにチェックを入れる操作をせずに、swfファイルを起動さしたら100%のフルスクリーンで実行されるようにしたいのです。 FLASHでswfファイルのスライドショーを作成するときアクション等での記述方法は無いでしょうか?

  • 外部swfのMCを親swfから非表示にする

    ムービークリップに外部swfを読み込み、 その外部swfファイルのムービークリップを XMLファイルから読み込んだ情報により、表示非表示の切り替えを 行いたいのです。 ========= fileNameXML = new XML(); ・ ・ //ファイル情報XMLファイルの読み込み fileNameXML.load("init.xml"); ・ ・ //ファイル名リストXMLの格納 fileName_temp1 = _root.fileNameXML.childNodes[0].childNodes[0]; ========= かなり抜粋していますが、上記のようにXMLファイルより 情報を読み込んでいます。 ========= _root.main_mc.loadMovie(sub.swf); 親swfのムービークリップに上記のように子swfを読み込み その子swfの中にある、ムービークリップ「btn_next」を XMLファイルより読み込んだ情報で以下のように非表示に変えたいのです。 ========= if (imgNum == 1) { btn_next._visible = false; } ========= 現在は、親swfから子swfのムービークリップを条件によって 非表示に変えられないものかと、色々試しています。 どうすれば、条件による非表示がうまくできるでしょうか。 flashバージョン8、ActionScript2.0 で作成しています。

  • FLASHの外部SWFファイルの読み込み方法

    FLASHのアクションスクリプトの勉強中です。 外部SWFファイルを複数用意してボタンで呼び出す方法はわかったのですが、その読み込まれ方をかっこよくできないか考えています。 何個かSWFファイルを作成した後、新規FLAファイルを作成しました。 そのファイルにスクリーン用のシンボル(上のSWFファイルと同じ大きさのもの)を作成しインスタンス名を「screen」にしました。 ほいでもって複数のボタンシンボルを作成し、 on (release) { _root.screen.loadMovie("pekepke.swf"); } という感じで外部swfファイルをそれぞれのボタンより読み込むとこまではできたのですが、その読み込まれ方と切り替るときの表示の仕方をふわっと現れ、ふわっと消えてからファイルが現れるというふうにしてみたいのですができますでしょうか? ちなみにflash8を使用しております。ヒントでもいただけるとありがたく思います。

  • swf終了後、違うswfに自動で移行したい

    皆様お世話になっております。 以下の件について調べて見ましても、良い回答を見つけられず己の力の無さに悲観しております。 出来ましたら皆様のご意見を伺いたいのです。 よろしくお願いします。 【A.swf】というメニュー画面があります。 そこにあるボタンを押し【B.swf】というファイルをLoadMovieし再生します。 【B.swf】終了後、自動で元の【A.swf】の画面に戻したいのですが【B.swf】が繰り返し再生されてしまいます。 FLASH MX、Win98Seにて作っております。 宜しくお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう