0

png ファイルをアプリケーションにロードしようとしています。ここにコードがあります

var map:mapLoader = new mapLoader();
map.loadMap("tile.png");

次に、それをロードするファイルを次に示します。に到達するとすぐにエラーがスローされます

loader.load(new URLRequest(currentMap));

私がそれをコメントアウトした場合。その後、エラーはなくなります。以下はコード全体です

package {
    import flash.display.Loader;
    import flash.net.URLRequest;
    import flash.net.*;
    import flash.events.*;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.display.Sprite;    

    public class mapLoader extends Sprite{

        private var currentMap:String;
        private var loader:Loader;
        private var xmlLoader:URLLoader;
        private var worldRows:Number = 100;
        private var worldCols:Number = 100;
        public var world:Array;
        public var mapTile:BitmapData;
        public var arry:Array = new Array();

        public function mapLoader():void
        {
            // the output window width and height in pixels

            worldCols=100;      
            worldRows=100;          


            world = new Array();
        }

        public function loadMap(mapName:String = "empty"):void
        {
            currentMap = mapName;

            if(currentMap != "empty")
            {
                //load in tile sheet image
                loader = new Loader();
                loader.contentLoaderInfo.addEventListener(Event.INIT,tilesLoadInit);
                loader.load(new URLRequest(currentMap));
            }
        }//End MapLoader

         private function tilesLoadInit (e:Event):void {
               mapTile = Bitmap(loader.content).bitmapData;

         }
        }
}

次のエラーが表示されます

Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
4

1 に答える 1

2

このコードは、再生方法に応じて、HTML ページまたは SWF ファイルの近くに配置する必要がある外部 (つまり、埋め込まれていない) アセット「tile.png」をロードしています。

原則として、これらの外部要素のパスは「最上位のコンテナ」を基準にしています。

  • ウェブサイトを作成している場合は HTML ページ
  • スタンドアロンで再生する場合 (EXE として、または FlashDevelop からプロジェクトを実行する場合) は、SWF ファイル自体。

これは非常に注意すべきことであり、初心者にとっては混乱の元です。

于 2010-01-08T18:59:26.320 に答える