code:
import index.base.net.imageloader;
源代码:
var il:imageloader = new imageloader;
il.load("http://www.xiaos8.com/uploads/200804/02_230327_1.jpg");
il.addeventlistener(event.complete,fun);
function fun(e:event){
addchild(new bitmap(il.data));
trace(il.loader)
trace(il.url)
}
code:
package index.base.net{
import flash.display.loader;
import flash.display.bitmapdata;
import flash.net.urlrequest;
import flash.utils.bytearray;
import flash.events.event;
import flash.events.progressevent;
import flash.events.eventdispatcher;
import flash.system.loadercontext;
public class imageloader extends eventdispatcher{
public var url:string;
public var loader:loader;
public var data:bitmapdata;
//构造函数
public function imageloader(obj:object = null,lc:loadercontext = null) {
if(obj != null){
if(obj is bytearray){
loadbytes(obj as bytearray,lc);
}else if(obj is string){
load(obj as string,lc);
}else{
throw new error("参数错误,构造函数第一参数只接受bytearray或string");
}
}
}
//加载
public function load(_url:string,lc:loadercontext = null):void{
url = _url;
loader = new loader;
loader.load(new urlrequest(url),lc);
addevent();
}
//加载字节
public function loadbytes(bytes:bytearray,lc:loadercontext = null):void{
loader = new loader;
loader.loadbytes(bytes,lc);
addevent();
}
//开始侦听
private function addevent():void{
loader.contentloaderinfo.addeventlistener(progressevent.progress,progressfun);
loader.contentloaderinfo.addeventlistener(event.complete,completefun);
}
//结束侦听
private function delevent():void{
loader.contentloaderinfo.removeeventlistener(progressevent.progress,progressfun);
loader.contentloaderinfo.removeeventlistener(event.complete,completefun);
}
//加载成功,发布成功事件
private function completefun(e:event):void {
data = loader.content["bitmapdata"];
delevent();
dispatchevent(e);
}
//加载过程
private function progressfun(e:progressevent):void{
dispatchevent(e);
}
//清除
public function clear():void{
loader.unload();
loader = null;
data = null;
}
}
}
如对本文有疑问, 点击进行留言回复!!
flash怎么返回上一步? flash撤销操作的三种使用方法
网友评论