XMLで画像を読み込むと巨大化します・・・

このQ&Aのポイント
  • Flash8で外部XML画像とURLを読み込んでいる際に画像が巨大化する問題が発生しています。
  • 800×250のサイズで画像を読み込みたいが、読み込むと画像が大きくなってしまっています。
  • 問題が発生しているのは、サイズを指定している箇所であり、初心者のため原因がわかりません。先人の方々からの意見や指摘をお待ちしています。
回答を見る
  • ベストアンサー

XMLで画像を読み込むと巨大化します・・・

Flash8にて、外部XML画像とURLを読み込みしています。 初の試みでして、たどたどしくも双方ともに読み込むところまでは皆様のこれまで作られたデータを基に作成出来たのですが、画像を読み込んだときに巨大化されてしまって困っています。 ▼XML --------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <jpeg> <jpegURL>images/image1.jpg</jpegURL> <link>http://yahoo.co.jp/1</link> <jpegURL>images/image2.jpg</jpegURL> <link>http://yahoo.co.jp/2</link> <jpegURL>images/image3.jpg</jpegURL> <link>http://yahoo.co.jp/3</link> <jpegURL>images/image4.jpg</jpegURL> <link>http://yahoo.co.jp/4</link> </jpeg> --------------------------------------------------- 800×250で画像を読み込みたいのですが、 読み込むと、すさまじく巨大化してしまっています。。 作ろうとしているのは、横にスクロールするナビゲーションです。 XMLで画像とリンク先を指定、画像は同じ階層に「img」というフォルダを作って入れています。 下記が、1フレーム目に記載しているASです。 ▼AS --------------------------------------------------- var obj_array:Array = new Array(); var center:Number = Stage.width/2; var menu_num:Number = 4; var maxlength:Number = 800*menu_num; //サイズ指定箇所 var friction:Number = -0.03; var obj_xml:XML = new XML(); obj_xml.onLoad = start_me; obj_xml.ignoreWhite = true; obj_xml.load("scrollslide.xml"); function start_me(success:Boolean):Void { if (success == true) { for (var i = 1; i<=menu_num; i++) { var menu_str:String = "menu"+i; obj_array[i] = _root.attachMovie("menu", menu_str, i); obj_array[i].num = i; obj_array[i]._x = 800*(i-1); //X座標 obj_array[i]._y = 0; var jpg_str:String = obj_xml.firstChild.childNodes[(i-1)*2].firstChild; var link_str:String = obj_xml.firstChild.childNodes[i*2-1].firstChild; obj_array[i].jpg_mc.loadMovie(jpg_str); obj_array[i].onEnterFrame = scrollphoto_me; obj_array[i].onPress = press_me; obj_array[i].onRollOver = roll_me; obj_array[i].onRollOut = rollout_me; //関数呼び出し obj_array[i].onRelease = release_me; obj_array[i].link = link_str; } } else { seltext = "xml read error"; } } function release_me():Void { trace(this.link); getURL(this.link, "_parent"); } function scrollphoto_me():Void { var speed:Number = (_root._xmouse-center)*friction; var vx:Number = this._x+speed; if (vx<=-800) { //ステージ左に消えたら vx += maxlength; //サムネイルの最後列の後ろに移動 } else if (vx>=Stage.width+10) { //ステージ右に消えたら vx -= maxlength; //サムネイル最前列の前に移動 } this._x = vx; updateAfterEvent(); } function roll_me():Void { this._alpha = 80; } function rollout_me():Void { this._alpha = 100; } stop(); --------------------------------------------------- サイズを指定している箇所に問題があるのでしょうか。 初心者でして、全く見当がつかず困っております。 もしよろしければ、先人の方たちにご意見とご指摘を頂ければと思います。宜しくお願いいたします。

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

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

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

シンボルに 「menu」 という識別子を付けたムービークリップがあって, その中に 「jpg_mc」 というムービークリップを作成されていますよね。 その 「jpg_mc」 の作成工程に問題があると思います。 たとえば, 10px×10px の塗りを描いて, その塗りをムービークリップに変換し, その後,400px×300px に拡大させたとかです。 ロードするムービークリップを拡大させるとその中にロードされるものも拡大されていまします。 もし 400px×300px 「jpg_mc」 を作成したいのでしたら,上のようにするのではなくて, 400px×300px の塗りを描いて, その塗りをムービークリップに変換しなければなりません。 そこら辺がアヤシイと思います。

namagaeru
質問者

お礼

ありがとうございました! 補足に書いた質問は長くなりそうなので別の質問でしようかと思います。親切に教えいただきありがとうございました。

namagaeru
質問者

補足

>BlurFiltanさん ありがとうございます!ただ今帰ってきて試してみたところ、画像サイズがそのままで表示されるようになりました。助かりました!! http://www.first-jp.com/ 完成系がこのサイトの上部ナビを目指しているのですが、まだまだ変更しなければいけないですよね。。。 改善点1:スクロール方法を変更 関数 scrollphoto_me の変更 左から右へ一定の速度で流れ続ける。 改善点2:スクロールイベントの変更 変数 friction の変更? rolloverでスクロールをストップ。 改善点3:ボタンの設置 メインタイムラインにボタンを左端と右端に設置。 ボタンアクションにする? 改善点4:ボタンへのアクションを設定 ボタンアクションにしてから、onRollOver で設定? 初心者のくせに、順番すっとばしでこんな難しい条件に挑んで非常に恥ずかしい限りです。これから1つずつ条件をクリアしていこうかと思いますが、今回は時間がなくてほとんどご支持いただく形になってしまいます。。 よろしければ、完成までお付き合い頂ける方が他にもいらっしゃいましたらご協力お願いいたします。

関連するQ&A

  • 外部XMLからFlashに読み込んだ画像にリンクをつける方法

    初めまして。 この度初めて外部XMLをFlashに読み込むコンテンツを制作しており、最後の段階でハマっておりますため、皆様のお力をお借りできればと思い投稿させていただきました。 ちなみに制作環境はMac OS10.3、flashはCS3です。 よくあるパターンのflashによる横スクロールメニュー(画像がマウス操作で左右に流れるもの)を作成しておりますが、表示される10枚の画像をflash内ではなく、外部imagesフォルダに置いておき、XMLにてflash内に作成されたムービークリップに読み込み表示させるコンテンツで、表示されたそれぞれの画像に、やはりXML内に記述されたそれぞれ別のURLを指定して、クリックでジャンプさせようとしています。 横スクロールに関しては問題なく表示できましたが、問題はリンクです。traceでは10個のURLが戻ってくるのですが、実際に各画像をクリックしてみると、全ての画像が10番目のリンク先となってしまっています。 ネットでも色々調べてみたのですが、getURL(this.変数)ではなくgetURL(this._parent.変数)にする等試してみましたがうまくいきません。 下記にActionScriptとXMLファイルの内容を記載致しますので、ご参考の上、ご回答いただけましたらありがたく思います。 ~以下1フレーム目のフレームスクリプト~ var obj_array:Array = new Array(); var center:Number = Stage.width/2; var menu_num:Number = 10; var maxlength:Number = 120*menu_num; var friction:Number = -0.03; System.useCodepage = true; var obj_xml:XML = new XML(); obj_xml.onLoad = start_me; obj_xml.ignoreWhite = true; obj_xml.load("scrollslide.xml"); function start_me(success:Boolean):Void { if (success == true) { for (var i = 1; i<=menu_num; i++) { var menu_str:String = "menu"+i; _root.attachMovie("menu", menu_str, i); obj_array[i] = eval(menu_str); obj_array[i].num = i; obj_array[i]._x = 120*(i-1); obj_array[i]._y = 30; obj_array[i]._alpha = 70; var jpg_str:String = obj_xml.firstChild.childNodes[i-1].firstChild.firstChild; obj_array[i].jpg_mc.loadMovie(jpg_str); var jumpURL:String = obj_xml.firstChild.childNodes[i-1].lastChild.firstChild.nodeValue; jump = jumpURL; trace(jump); obj_array[i].onEnterFrame = scrollphoto_me; obj_array[i].onPress = press_me; obj_array[i].onRollOver = roll_me; obj_array[i].onRollOut = rollout_me; } } else { seltext = "xml read error"; } } function scrollphoto_me():Void { var speed:Number = (_root._xmouse-center)*friction; var vx:Number = this._x+speed; if (vx<=-120) { vx += maxlength; vx = Math.round(vx); } else if (vx>=Stage.width-5) { vx -= maxlength; } vx1 = Math.round(vx); this._x = vx1; updateAfterEvent(); } function press_me():Void { getURL(this.jump); } function roll_me():Void { this._alpha = 100; } function rollout_me():Void { this._alpha = 70; } stop(); ~以下XMLファイルの記述~ <?xml version="1.0" encoding="Shift_JIS"?> <jpeg> <jumpURL> <jpegURL>images/fla/image1.jpg</jpegURL> <URL>http://www.yahoo.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image2.jpg</jpegURL> <URL>http://www.exnos.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image3.jpg</jpegURL> <URL>http://www.sony.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image4.jpg</jpegURL> <URL>http://www.toyota.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image5.jpg</jpegURL> <URL>http://www.nissan.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image6.jpg</jpegURL> <URL>http://www.honda.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image7.jpg</jpegURL> <URL>http://www.mafdamino.com</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image8.jpg</jpegURL> <URL>http://www.nakata.net</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image9.jpg</jpegURL> <URL>http://www.nifty.com</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image10.jpg</jpegURL> <URL>http://www.adobe.com</URL> </jumpURL> </jpeg> 以上、よろしくお願致します。

    • ベストアンサー
    • Flash
  • AS初心者です。フレームループするメニューを作りたいのですが・・・

    ■環境 WindowsXP/FLASH 8pro/AS2.0 ■実現したいフラッシュのあるサイト http://www.first-jp.com/ このサイトの上部にあるスクロールしているFLASHです。 かなりの初心者なのですが、本を参考にして作っています。 まだまだ完成にはほど遠いのですが、現段階でこのような状態です。 http://dragstarnavi.web.fc2.com/navi/navi.html ■構造 メインのタイムライン1フレーム目に下記のASを記述。 メインのタイムライン1フレーム目にボタンを設置(MC可、左は「left-botton」右は「right-botton」) ■メインタイムラインに記載しているAS var obj_array:Array = new Array(); //配列の生成 var center:Number = Stage.width/2; //ステージ中心X座標 var menu_num:Number = 4; //メニュー数 var maxlength:Number = 800*menu_num; //メニュー列の最大幅 var friction:Number = -0.02; //マウス移動時の摩擦値 //XMLオブジェクトの生成と外部XMLの読み込み var obj_xml:XML = new XML(); //XMLオブジェクトの生成 obj_xml.onLoad = start_me; //ロードアクション(コールバックを定義) obj_xml.ignoreWhite = true; //XMLファイルの空白、改行などを無視 obj_xml.load("scrollslide.xml"); //外部XMLファイルを読み込む //XMLのロード成功可否を判断 function start_me(success:Boolean):Void { if (success == true) { //読み込み成功 //サムネイルインスタンスの生成と設定 for (var i = 1; i<=menu_num; i++) { var menu_str:String = "menu"+i; obj_array[i] = _root.attachMovie("menu", menu_str, i); //インスタンスを設定 obj_array[i].num = i; //インスタンスを配列で管理 obj_array[i]._x = 800*(i-1); obj_array[i]._y = 0; //XMLからJPG名を読み込む var jpg_str:String = obj_xml.firstChild.childNodes[(i-1)*2].firstChild; //XMLからURLを読み込む var link_str:String = obj_xml.firstChild.childNodes[i*2-1].firstChild; obj_array[i].jpg_mc.loadMovie(jpg_str); //外部JPGロード obj_array[i].onEnterFrame = scrollphoto_me; //イベントアクション obj_array[i].onPress = press_me; //イベントアクション obj_array[i].onRollOver = roll_me; //イベントアクション obj_array[i].onRollOut = rollout_me; //イベントアクション obj_array[i].onRelease = release_me; //イベントアクション obj_array[i].link = link_str; } } else { seltext = "xml read error"; //エラー } } function release_me():Void { trace(this.link); getURL(this.link, "_parent"); //同ウインドウ内でURLを読み込む } //サムネイルインスタンスのフレームループ function scrollphoto_me():Void { var speed:Number = (_root._xmouse-center)*friction; //マウスの移動量 var vx:Number = this._x+speed; if (vx<=-800) { //ステージ左に消えたら vx += maxlength; //サムネイルの最後列の後ろへ移動 } else if (vx>=Stage.width+1) { //ステージ右に消えたら vx -= maxlength; //サムネイル最前列の前へ移動 } this._x = vx; updateAfterEvent(); } //サムネイルインスタンスのマウスロールオーバーアクション function roll_me():Void { this._alpha = 80; } //サムネイルインスタンスのマウスロールアウトアクション function rollout_me():Void { this._alpha = 100; } stop(); ■読み込んでいるXML <?xml version="1.0" encoding="utf-8"?> <jpeg> <jpegURL>images/image1.jpg</jpegURL> <link>http://yahoo.co.jp/1</link> <jpegURL>images/image2.jpg</jpegURL> <link>http://yahoo.co.jp/2</link> <jpegURL>images/image3.jpg</jpegURL> <link>http://yahoo.co.jp/3</link> <jpegURL>images/image4.jpg</jpegURL> <link>http://yahoo.co.jp/4</link> </jpeg> ■先人の皆様にご教授して頂きたい箇所 1.ループの変更   希望サイトのように、左から右に一定の速度で流れるようにしたい。   オンマウスにて完全にストップ。マウスアウトにてストップを解除。 2.ボタンの設置   メインタイムラインに新規フレームを作って左右のボタン  (left-botton right-botton)を設置し、MCに変換したのですが   早速問題で、読み込まれた外部JPGの背後になってしまっています。。   これを最前面に持ってきたいのです。   読み込む順番が問題なのでしょうか? 3.ボタンのアクション設定   左ボタン(left-botton)にて、左方向に加速。   右ボタン(right-botton)にて、右方向に加速。 何を無謀なチャレンジと思われるでしょうが、 宜しければご教授頂ければ幸いです。

  • マウスの基準点について

    www.i-tv.in/test/shop_menu.swf 上記のものスクリプトの参考書を見ながら作りました。マウスが摩擦をおく基準が上の方になっています。 これを中央にもっていきたいと思いましたが、このような単純なことは調べても出てきません。どなかた教えて頂ければ幸いです。宜しくお願いします。 function start_me(success:Boolean):Void { if (success == true) { for (var i = 1; i<=menu_num; i++) { var menu_str:String = "menu"+i; _root.attachMovie("menu",menu_str,i); obj_array[i] = eval(menu_str); obj_array[i].num = i; obj_array[i].mctext = i; obj_array[i]._y = 125*(i-1); obj_array[i]._x = 10; obj_array[i]._alpha = 40; var jpg_str:String = obj_xml.firstChild.childNodes[i-1].firstChild; obj_array[i].jpg_mc.loadMovie(jpg_str); obj_array[i].onEnterFrame = scrollphoto_me; obj_array[i].onPress = press_me; obj_array[i].onRollOver = roll_me; obj_array[i].onRollOut = rollout_me; } } else { seltext = "xml read error"; } }

    • ベストアンサー
    • Flash
  • 配列での管理について

    外部JPGファイル名が記述してあるXMLファイルを読み込んで,サムネイルインスタンスを生成したいと思います。 構想としては 1、読み込んだXMLファイルのノードの数(変数名:menu_num)を参照。 2、ノード数の分attachMovieメソッドでシンボル(識別子:thum-menu)の生成を繰り返す 3、生成したシンボルに含まれるムービークリップインスタンス(インスタンス名:jpg_mc)にloadMovieメソッドで外部JPGをロードする 途中まで作ったフレームアクションが下記の通りです。 // 1 System.useCodepage = true; var obj_xml:XML = new XML(); obj_xml.ignoreWhite = true; obj_xml.load("sample.xml"); obj_xml.onLoad = start_me; function start_me(success:Boolean):Void {    if (success == true) {    var nodeList:Array = obj_xml.firstChild.childNodes;    var menu_num:Number = nodeList.length; // 2. インスタンスの生成と設定   for (var i:Number = 1; i<=menu_num; i++) {    var menu_str:String = "thum-menu0"+i;     _root.attachMovie("thum-menu", menu_str, i);    trace(i); これ以降(行程2)で生成した複数のシンボルを配列で管理したいのですが、なかなかうまくいきません。どなたかおしえていただければ幸いです。 ちなみにXMLファイルのノード数の取得はちゃんとできてるようです。 使用ソフトは Flash 8 で ActionScript2.0 です。

  • flashでPHPファイル(実際は該当するxmlを呼ぶ)を読み込む方法について

    FLASH(AS2.0)でPHPファイル(実際は該当するxmlを呼ぶ)を読み込むようにするにはどのようにしたらいいのですか? 現状では、ローカルのxmlファイルを読み込むように、 下記のように書いてあります。 var objXML:XML = new XML(); objXML.ignoreWhite = true; objXML.onLoad = function(success:Boolean):Void { if(success) { loadXML(this); } } var menuArray:Array = new Array(); // function loadXML(objXML:XML):Void { var dataNode:XMLNode = objXML.firstChild; var menuNodes:Array = dataNode.childNodes; for(var i:Number = 1; i <= menuNodes.length; i++) { var menuNode:XMLNode = menuNodes[i-1].childNodes; var Name:String = menuNode[0].firstChild.nodeValue; menuArray[i] = { title:Name}; } myVars(menuArray); } objXML.load("sample.xml"); この状態から、外部<http://aaaa/sample.php>URLに アクセスして、PHPファイルを読み込むにはどのようにしたら よいのか全くわかりません。 objXML.load("sample.xml"); 上記の()の中に直接URLを挿入すると、 ローカルでは確認できるのですが、 ファイルをアップすると、まったく読み込めてはいません。 ActionScriptは全くわからないので、ご教授よろしくお願いいたします。

  • VBSでxmlの値を書き換えたい

    お世話になります。 VBScriptで作成しています。 A.xmlの「sx」の値を全て200にしたいと思っております。 A.xmlの値を抜き取って、OKフォルダに複製する処理は 作ったのですが、どのようにして、sxを指定・その中の値を 変更するのかわかりません。 お手数ですが、ご教授お願いいたします。 ------------------A.xml---------------------------- <?xml version="1.0" encoding="UTF-8"?> <links> <link id="0" name="" title=""> <sx>145</sx> <sy>142</sy> </link> <link id="1" name="" title=""> <sx>495</sx> <sy>142</sy> </link> <link id="2" name="" title=""> <sx>155</sx> <sy>510</sy> </link> </links> --------------------------------------------------- ------スクリプト------------------------------------------------ Set Fso = CreateObject("Scripting.FileSystemObject") Set objXML = CreateObject("Msxml2.DOMDocument.3.0") ' カレントディレクトリ str = WScript.ScriptFullName Set obj = Fso.GetFile( str ) Set obj = obj.ParentFolder str = obj.Path ' XML を読み込み objXML.load( str & "\A.xml" ) ********************************************************** '''ここで、sxの属性の値を変更したい ********************************************************** ' XML を保存 objXML.save( str & "\OK\A.xml" ) ------------------------------------------------------

  • XMLの空白要素をJavascriptのif文で条件分けする

    JavascriptもXMLも始めたばかりの者です。 分からないことがあり、皆様にご教授頂ければと思い投稿しました。 XMLで生成したファイルから各要素を取り出してHTMLに置き換えるスクリプトをJavascriptで作ろうと思います。 ~XMLファイル~宣言省略 <links> <link> <url>http://www.○○○.com/</url> <title>○○○~</title> <ban>http://www.○○○.com/XX.gif</ban> </link> <link> <url>http://www.×××.com/</url> <title>×××~</title> <ban></ban>//←画像データ空欄 </link> </links> ~Javascript~前後省略 var a = obj.responseXML; var xmlDoc = a.documentElement; var links = xmlDoc.getElementById("links").length; for(var i=0; i<links; i++) { var link = xmlDoc.getElementsByTagName("link")[i].firstChild.nodeValue; var title = xmlDoc.getElementsByTagName("title")[i].firstChild.nodeValue; var image = xmlDoc.getElementsByTagName("image")[i].firstChild.nodeValue; var html = Html(link,title,image); } function Html(link,title,image) { ~中略~ if(image != ""){ html += '<a href="' + link + '"><img src="' + image + '" alt="' + title + '" /></a>'; } return html; } この後、html内の「<div id="html"></div>」に表示させるのですが、function Html(~)では、画像の有無は絶対条件ではない為if文で条件分けしています。 ですが、この「if(image != "")」で「has no properties」エラ-になります。 ちなみに空欄だった画像データ欄に文字列を入れるときちんと動作します。 XMLタグに文字列が入らない場合、配列には""(空)が返されないのでしょうか? 何か良い方法はありましたら、よろしくご教授くださいませ。 よろしくお願いいたします。

    • ベストアンサー
    • XML
  • XMLを使わずに同様の事をしたいのですが…

    某掲示板に同様の質問をしたのですが、本当に困っておりどうにもならない状態です。どうぞ、御教授お願い致しますm(__)m 速習WEbテクニックFlashMX実例サンプル60にある内容からです。 ムービーの再生が始まると同時に、外部のJPG画像ファイルのURLが書き込まれているXMLファイルをロードし、XMLのデータをもとにJPGファイルの数を割り出し、その分だけ読み込み用のムービークリップを複製、表示するというものです。 ソースは次の通りです。これをXMLファイルを使用せず、loadMovieを使用し同様の事をしたいと思っています。どなたかよろしくお願い致します。 myXML = new XML (); myXML.ignoreWhite = true; myXML.load ("photodata.xml"); v_titleArray = new Array (); v_xOffset = myBase._x; myXML.onLoad = function (loaded) { if (loaded) { v_rootNode = myXML.firstChild; v_num = v_rootNode.childNodes.length; v_currentPhoto = v_rootNode.firstChild; v_currentNumber = 0; for (i=0; i < v_num; i++) { v_loadURL = v_currentPhoto.childNodes[1].firstChild; v_titleArray.push (v_currentPhoto.childNodes[0].firstChild); v_currentPhoto = v_currentPhoto.nextSibling; f_makeAndLoad (i, v_loadURL); } } else { trace ("error occured"); } }; XMLファイルのソースは次の通りです。 - <photo> - <picture> <file>photo1.jpg</file> </picture> - <picture> <file>photo2.jpg</file> </picture> - <picture> <file>photo3.jpg</file> </picture> - <picture> <file>photo4.jpg</file> </picture> - <picture> <file>photo5.jpg</file> </picture> </photo>

  • XMLから読み込んだデータを数値に変換する方法

    こんにちは。 XMLからデータを読み取ってそのpositionの値を元に 画像を動かそうとしています。 ただ、読み込んだ数値が文字と判断されていて、 numberで変換しても、数値にならずに、動かすことが できません。 申し訳ありませんが、お教え頂ければ幸いです。 よろしくお願いします。 -----script------------------------------------------- myXML = new XML (); myXML.ignoreWhite = true; myXML.load ("data.xml"); v_positionxArray = new Array (); v_positionyArray = new Array (); myXML.onLoad = function (loaded) { if (loaded) { v_rootNode = myXML.firstChild; v_num = v_rootNode.childNodes.length; v_currentPhoto = v_rootNode.firstChild; v_currentNumber = 0; for (i=0; i < v_num; i++) { v_positionxArray.push (v_currentPhoto.childNodes[0].firstChild); v_positionyArray.push (v_currentPhoto.childNodes[1].firstChild); v_currentPhoto = v_currentPhoto.nextSibling; } } else { trace ("error occured"); } }; btn_test.onRelease = function () { if (v_currentNumber < v_num-1) { v_currentNumber+=1; picture_x = Number(v_positionxArray[v_currentNumber]); picture_y = Number(v_positionyArray[v_currentNumber]); } }; picture.onEnterFrame = function () { this._x += picture_x; this._y += picture_y; } -----xml data-------------------------------------- <data> <member> <positionx>-591</positionx> <positiony>-130.7</positiony> </member> </data>

    • ベストアンサー
    • Flash
  • xmlから配列で取得したものを取り出したい

    as3初心者jpncan15といいます。 xmlから配列で取得したものをfunction外で取り出したいのですがどのようにすればいいのか悩んでいます。functionを調べたり配列を調べたり頭がかなり混乱中です。 お手数ですがご教授いただけますでしょうか? var ary:Array=new Array(); var ary_name:Array=new Array(); var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest("b.xml"); var xml:XML; loader.load(request); loader.addEventListener(Event.COMPLETE , XMLload); function XMLload(e:Event):void { xml = XML(e.target.data); num_txt.text = xml.item.length(); //xml件数をテキストフィールドへ入れる for each(var element:Object in xml.item.thumb) //配列に入れる {ary.push(element);} for each(var element_name:Object in xml.item.name) //配列に入れる {ary_name.push(element_name); trace(element_name);}//出力OK } //function外で配列を使用したい trace(ary[5]); trace(ary_name[2]);

    • ベストアンサー
    • Flash

専門家に質問してみよう