2016-11-09 6 views
0

この問題は、今日私がAS3でXMLファイルをロードできなかった約4時間です。私にストリームエラーを与えてください。ファイルパスが見つからないようです。だから私は、エラーをつかん:AS3 FlashDevelopでのファイルパスのクリア

Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: file:///C|/Users/Hmmm/Desktop/Flash%20Projects/Jumper/bin/testxml.xml 
at com::LoadXML()[C:\Users\Hmmm\Desktop\Flash Projects\Jumper\src\com\LoadXML.as:14] 
at com::MainState()[C:\Users\Hmmm\Desktop\Flash Projects\Jumper\src\com\MainState.as:20] 

その後、私は気づいた - ジャンパー/ binに/ testxml.xmlを - それはbinフォルダにそれを探している...なぜ?そこでファイルをbinとvoilaに移動しました。問題は - 私はそれをbinフォルダに入れたくありません。ここで

は、私の基本的なXMLローダークラスです:

package com 
{ 
import flash.net.URLLoader; 
import flash.net.URLRequest; 
import flash.events.Event; 
import flash.events.EventDispatcher; 

public class LoadXML extends EventDispatcher 
{ 
    private var dataXML:XML; 

    public function LoadXML(xmlFileName:String):void 
    { 
     var xmlLoader:URLLoader = new URLLoader(new URLRequest(xmlFileName)); 
     xmlLoader.addEventListener(Event.COMPLETE, loadedCompleteHandler); 
    } 

    private function loadedCompleteHandler(e:Event):void 
    { 
     e.target.removeEventListener(Event.COMPLETE, loadedCompleteHandler); 
     try { 
      dataXML = new XML(e.target.data); 
     } catch(e:Error) { 
      throw new Error("Error loading XML"); 
     } 
    } 
} 
} 

と別のクラス(同じフォルダ)から、それまでの私の呼び出し:

public var xmlloader:LoadXML = new LoadXML("testxml.xml"); 

誰かがこのファイルを参照する方法を明確にしてくださいすることができます...私は最終的に、アイテムの詳細や敵の場所などをゲームに格納するために複数のxmlファイルが必要になります。 src/com/maps/mapData.xml ---- 何か助けていただければ幸いです。ありがとうございました。

+0

これを読んで少し助けました。 http://safeoverflow.com/questions/13298843/cant-get-my-relative-paths-to-work-with-flashdevelop-and-flex public var xmlloader:LoadXML = new LoadXML( "../ src/com/testxml.xml "); – PHaZerous

+0

このファイルをbinフォルダに入れないのはなぜですか?代わりにそれを保管することを好むでしょうか? – Brian

答えて

0

あなたは完全なパスを指定することで、任意の場所からXMLを読み込むことができます。

new LoadXML("C:/Users/Hmmm/Desktop/Flash Projects/Jumper/src/com/testxml.xml");

または相対パスに親ディレクトリを指定することによって:

new LoadXML("../src/com/testxml.xml");

それはだことに注意してください。プロダクションにプロジェクトをデプロイするときに、〜/ src /フォルダにアセットを置くことは珍しいことです。

関連する問題