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

该代码正在加载一个外部(即非嵌入)资源“tile.png”,该资源应放置在您的 HTML 页面或 SWF 文件附近,具体取决于您的播放方式。

通常,这些外部元素的路径是相对于“顶级容器”的:

  • 如果你正在做一个网站,HTML 页面,
  • SWF 文件本身,如果您是独立播放它(作为 EXE 或从 FlashDevelop 运行项目时)。

这是需要非常小心的事情,也是初学者困惑的根源。

于 2010-01-08T18:59:26.320 回答