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);
}
}
}