加载外部图片无法显示

package {

        import flash.display.Sprite;

        import flash.display.Loader;

        import flash.net.URLRequest;

        import flash.events.Event;



        public class Add_Pic extends Sprite

        {

                public var urlRequest:URLRequest = new URLRequest();

                public var loader:Loader = new Loader();



                public function Add_Pic(_url:String,_x:Number,_y:Number,_width:Number,_height:Number)

                {

                        urlRequest.url = _url;

                        loader.load(urlRequest);

                        addChild(loader);

                        loader.x = _x;

                        loader.y = _y;

                        loader.width = _width;

                        loader.height = _height;

                }



        }

}




这是加载外部图片的类


import _class.Add_Pic;
var net:Add_Pic = new Add_Pic("image/net.png",0,0,550,400);
addChild(net);
这是flash文档里的实现部分,但是就是无法显示图片



原因是:

在Loader 未加载成功时设置了尺寸

Loader本身是空的,急着设置尺寸会让 scaleX  scaleY 为0

所以眼睛就看不到了
把 loader.width = _width;

loader.height = _height;

放到加载完成时设置





package {

        import flash.display.Loader;

        import flash.net.URLRequest;

        import flash.events.Event;

        public class Add_Pic extends Loader {

                private var w:int;

                private var h:int;

                public function Add_Pic(_url:String,_width:int,_height:int) {

                        w=_width;

                        h=_height;

                        contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete);

                        load(new URLRequest(_url));                        

                }

                private function onLoadComplete(e:Event):void{

                        width=w;

                        height=h;

                        contentLoaderInfo.removeEventListener(Event.COMPLETE,onLoadComplete);

                }

        }

}

你可能感兴趣的:(.net,Flash)