FLASH8でXMLから読み込んだ画像のパスを表示する方法は?

このQ&Aのポイント
  • FLASH8を使用し、as2.0で制作しています。URLなどは問題なく読み込むのですが、xmlで読み込んだ画像のパスを、loadMovieで表示させるには、どうすればいいですか?
  • trace();で出力すると画像へのパスが問題なく表示されるのですが、それをloadMovieに代入してもunderdefineになってしまいます。
  • 初心者向けの質問ですが、FLASH8でXMLから読み込んだ画像のパスを正常に表示するには、どのような方法がありますか?
回答を見る
  • ベストアンサー

FLASH8を使用し、as2.0で制作しています。

FLASH8を使用し、as2.0で制作しています。 http://okwave.jp/qa/q5457905.html で質問されていた、「XMLから読み込んだテキストをリンク表示する方法」を参考にしています。 URLなどは問題なく読み込むのですが、 xmlで読み込んだ画像のパスを、loadMovieで表示させるには、どうすればいいですか? loadMovieに直接パスを記入すれば、正常に表示される状態です。 trace();で出力すると画像へのパスが問題なく表示されるのですが、それをloadMovieに代入してもunderdefineになってしまいます。 とても初歩的なことだと思うのですが、宜しくお願いします。

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

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

  • ベストアンサー
  • joy_28
  • ベストアンサー率84% (45/53)
回答No.1

ronts05さん、 以下で行けるでしょう。 //ここから /*xmlファイル名を、url.xmlとしました <?xml version="1.0" encoding="UTF-8"?> <file> <visual> <gazou>./main/001.jpg</gazou> <thumb>./navi/thumb_001.png</thumb> <url>http://www.yahoo.co.jp/</url> </visual> <visual> <gazou>./main/002.jpg</gazou> <thumb>./navi/thumb_002.png</thumb> <url>http://www.google.co.jp/</url> </visual> <visual> <gazou>./main/003.jpg</gazou> <thumb>./navi/thumb_003.png</thumb> <url>http://okwave.jp/</url> </visual> <visual> <gazou>./main/004.jpg</gazou> <thumb>./navi/thumb_004.png</thumb> <url>./test.html</url> </visual> </file> */ import mx.xpath.XPathAPI;//XpathAPIをimportすると、分かり易いです //以下、各配列生成 this.createEmptyMovieClip("mc",_root.getNextHighestDepth());//最深度に、空のMovieClipを生成しておく var gazouList:Array = new Array(); var thumbList:Array = new Array(); var urlList:Array = new Array(); var _xml:XML = new XML(); _xml.ignoreWhite = true; _xml.onLoad = function(success:Boolean) { if (success) { var rootNode:XML = this.firstChild; gazouList = XPathAPI.selectNodeList(rootNode, "/file/visual/gazou/*"); thumbList = XPathAPI.selectNodeList(rootNode, "/file/visual/thumb/*"); urlList = XPathAPI.selectNodeList(rootNode, "/file/visual/url/*");//ここから、URLを抽出する trace(gazouList.length);//今回は、4となる for (var i:Number = 0; i<gazouList.length; i++) {//検証用 trace(gazouList[i]); trace(thumbList[i]); trace(urlList[i]); } for (var k:Number = 0; k<gazouList.length; k++) { _root["btn"+k].id = k;//別途btn0、btn1、btn2、btn3を配置しておき、kを、XX.idに保存し、 _root["btn"+k].onRelease = function():Void {//其々のボタンが押されたら、 _root.mc.loadMovie(gazouList[this.id]);//_root.mcにロードする。この時、thid.idで配列要素を取り出す }; } /*btn.onRelease = function():Void { makeButton(); };*/ } else { trace("error"); } }; _xml.load("url.xml"); //_xml.load("url.xml?"+getTimer());//ローカルではエラーとなりますが、サーバーアップ時は、ブラウザーのキャッシュ対策として、こっちを使用する、 /*動的に、ボタンを生成する場合は、以下のような例もあり得るでしょう function makeButton() { for (var i:Number = 0; i<gazouList.length; i++) { var btn:MovieClip = this.attachMovie("Btn", "btn"+i, i); btn._x = 40+90*i; btn._y = 400; btn._txt.text = String(i); btn.id = i;//iを、btnに動的に生成するプロパティ id に、保管しておく btn.onRelease = function():Void { //getURL(urlList[this.id], "_blank"); mc.loadMovie(gazouList[this.id]); trace(gazouList[this.id]); }; } } */ //ここまで

関連するQ&A

  • as2 setMask()について

    as2 setMask()において マスクの対象となるMovieClipイメージに loadMovie()で外部画像が読み込まれている場合、 マスクでは表示されないのでしょうか 初歩的な質問ですがよろしくお願いします

  • AS2とAS3の違いについて質問です。

    AS2とAS3の違いについて質問です。 今度、フルフラッシュのサイトを制作しなくてはいけないのですが、そこで必ず外部XMLを読み込むというのが必須になってきます。 更新情報や画像を読み込むようなXMLです。 以前AS2で行いましたが、どうしてもXMLをHTMLで表示する部分がうまくできませんでした。(デザイン的にできないことが多すぎて) いろいろ調べると、なかなか難しいようですね。 知人に聞いたところ、AS3で作ればそこらへんもっと作り込めると聞いたのですが、本当でしょうか? 納期の事もあり、今からAS3を学んで…となるとだいぶ不安です。 AS2でもHTMLをうまく表示できるのであれば、ご教授いただければうれしいです! よろしくお願いします。

  • AS3でif関数で外部SWFを読み込みたい!

    AS3でif関数で外部SWFを読み込みたい! AS2では下記の記述で動作していたのですが、 ---------------------------------------- // もし 変数 result の値が 0 であれば if (_root.result == "0") { // flash読み込み this.loadMovie("main.swf"); // もし 変数 result の値が 1 であれば } else if (_root.result == "1") { // flash読み込み this.loadMovie("1.swf"); } ---------------------------------------- AS3にすると動かなくなってしまいました。 仕組みとしては、【htmlのflashvarsの変数を_rootで拾ってifステートメントで外部SWFを読む】 作りになっています。 参考書を買ってみて条件分岐について調べて試行錯誤してみたもののvarsとかtraceとかAS3で必要ですか?とにかくチンプンカンプンなので、どなたかご教授お願いいたします。。。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • 【AS2】"2/8"などのデータから%計算

    AS&プログラム初心者のWEBデザイナーです。 仕事でASをさわることになりましたので、教えてください。 あるクイズのフラッシュアプリをつくっています。 結果表示画面で、正答率を表示しようとしています。 JAVAエンジンからXMLノードに、例えば"5/10"(正答数/問題数)という一つながりの形で書き込まれます。桁数は可変です。そのデータをFLASH側で読み込み計算して、"50%"などの形で表示したいです。 ただ正当数と問題数が別々にXMLに格納してあれば、自分的には無問題なのですが、すでに分数の形になって書き込まれているデータをどう取り出して計算すれば良いか解りません。 宜しくお願いします。

    • ベストアンサー
    • Flash
  • Flash4でloadMovieの完了を知る方法

    Flashムービーを、Flash4形式で作成しています。 あるムービークリップに、loadMovieで、JPEG画像を読み込んでいます。 ロードが完了すると、うまく表示されます。 この、ロードが完了したタイミングを知りたいのですが、可能でしょうか? MovieClipLoaderクラスや、getBytesLoaded()メソッド、fscommand2は、 Flash4では使えないようなので、困っています。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • as3 変数のスコープについて

    xmlの読み込みをしていますが、 最後のtraceで内容が表示されません。nullになります。 var myXML:XML; var imgSrc:String ; var url:URLRequest = new URLRequest("test.xml"); var xmlLoader:URLLoader = new URLLoader(); xmlLoader.dataFormat = URLLoaderDataFormat.TEXT; xmlLoader.load(url); xmlLoader.addEventListener(Event.COMPLETE, comp); function comp(event:Event):void { myXML = XML(xmlLoader.data); imgSrc = myXML.img[0]; } trace(imgSrc);←ここがnullです。 function内でtraceすると問題なく表示されるのですが、 一体どうしてでしょうか。 ご教授お願いいたします。

    • ベストアンサー
    • Flash
  • 外部png画像の読み込みについて

    いつもお世話になっております。 下記サイトの作品サンプル No.880「ドラッグ可能な拡大回転画像」に関して質問させてください。 http://hfm-kenchan.com/Lesson/contents/index.htm 上記サンプルでは、外部jpgファイルを使用していますが、ここにjpg画像ではなくpng画像を使用したく考えております。 (背景が透明な画像を使いたいと思いまして。) アクションスクリプト内の oadThumb.loadMovie(_parent.Path+"s"+num+".jpg"); loadPic.loadMovie(_parent.Path+"p"+num+".jpg"); を loadThumb.loadMovie(_parent.Path+"s"+num+".png"); loadPic.loadMovie(_parent.Path+"p"+num+".png"); に変更し、画像格納フォルダにpng画像を入れてプレビューしてみたのですが、png画像が表示されませんでした。 色々調べたところ、Flashがpng画像に対応したのはFlash8からとのことで、この辺があやしいのか。と思いましたが、私のFlashはFlash8ですので、特に問題はないかと思います。 ※サンプルの環境はMXらしいのですが、私の環境 8でflaファイルを保存しなおしてます。 アクションスクリプト内に、何か特別な記述(?)が必要なのでしょうか。 または、png画像の書き出し方に問題があるのでしょうか。。。 png8、png24、png32、またgifファイルで書き出してもswfにおいて、画像は表示されませんでした。 jpgで書き出したときのみ、正常に表示されました。 お手数ですが、原因、解決策などございましたら、ご教授いただけませんでしょうか。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • JPEG画像がステージに表示されない(Flash8)

    現在Flash8を勉強中です。初歩の初歩な質問で申し訳ありません。 JPEGの画像をステージに読み込んだのですが、ステージにはオブジェクトの枠だけが出ていて 肝心の写真が表示されません。 一度ライブラリに読み込んで、ドラッグして配置しても同じ状態になります。 ためしにFlash5で同じ手順で操作したところ、写真は表示されました。 画像はRGBで保存してあります。 基本的なことなのか、ヘルプを見てもわかりませんでした。。 よろしくお願いします。

  • AS3 Flash 変数の扱い方について

    質問なんですが、外部テキストをロードして完了したら イベントハンドラで数値の5を取得し、 それを別の変数に代入して保持させようと思い、 外部ASファイルのカスタムクラスのプロパティに代入したんですが上手く行きませんでした。 なのでどのようにしたら良いのか教えて頂けませんか? プログラムは以下になります。ではよろしくお願いします。 ***ASファイル*** package{ public class ImageRoadClass{ public static var number:int; // 返り値保持 private var number2:int; // 返り値保持 function ImageRoadClass(){ } public function setNumber(number:int):void{ this.number2 = number; } public function getNumber():int{ return this.number2; } } } ***flaファイル*** // インスタンス生成 var imageRoad:ImageRoadClass = new ImageRoadClass();        ・ (割愛)  ・        ・ // ロード完了後のイベントハンドラ function jsonReadHandler(e:Event):void{ var json_data:String = URLLoader(e.currentTarget).data; // 読み込んだテキストをjsonオブジェクトにデコード var json_decode_data:Object = JSON.parse(json_data);       // ***ここで値を外部クラスのプロパティに代入*** ImageRoadClass.number = json_decode_data[0].number; imageRoad.setNumber(json_decode_data[0].number); trace(ImageRoadClass.number); // 出力結果:5 trace(imageRoad.getNumber()); // 出力結果:5 } trace(ImageRoadClass.number); // 出力結果:0  保持できてない trace(imageRoad.getNumber()); // 出力結果:0  保持できてない

    • ベストアンサー
    • Flash
  • AS3でSWF単体でデータをXML化したい

    FLASH CS5(ActionScript3.0以下AS3)でコンテンツを作成しております。パブリッシュされたSWF単体で、内部データをXML化してテキストデータとして保存できるようにしたいのです。そこで問題になるのが、SWF単体でXML化できるものかです。データは単純なCSV形式なのでPHPなどを連携すればXML化や保存まで可能ですが、SWF単体ではどうでしょうか。SWF単体で保存までできなくてもよいです(というかAS3はテキスト出力の機能は無いようです)。内部でXML化さえしてくれればそれを表示させて手動でテキストエディタなどにコピペして保存します。よろしくお願いいたします。

    • ベストアンサー
    • Flash