構(gòu)造函數(shù) public function ByteLoader(url:String = "") 如果傳入了參數(shù)url,則立即執(zhí)行加載!
load 加載方法 public function load(_url:String):void 開始加載,_url是加載的地址
updata 更新數(shù)據(jù)方法 public function updata():void 更新緩沖區(qū)的可讀字節(jié)
close 關(guān)閉方法 public function close():void 類使用完畢,清除所有無用的數(shù)據(jù),也可以用來強行關(guān)閉數(shù)據(jù)流,停止下載
data 屬性 public var data:ByteArray 返回加載的字節(jié)
url 屬性 public var url:String 返回加載的url
isLoad 屬性(只讀) public function get isLoad():Boolean 返回是否有數(shù)據(jù)在加載
ProgressEvent.PROGRESS 事件 加載的過程中調(diào)度,并附帶加載情況
Event.COMPLETE 事件 加載完畢調(diào)度
例子:
import index.base.net.ByteLoader;
var bl:ByteLoader = new ByteLoader; bl.load("http://www.xiaos8.com/uploads/pro/50preso3a2.swf"); bl.addEventListener(Event.COMPLETE,completeFun); bl.addEventListener(ProgressEvent.PROGRESS,progressFun);
function completeFun(e:Event):void{ var loader:Loader = new Loader; loader.loadBytes(bl.data); addChild(loader); bl.removeEventListener(Event.COMPLETE,completeFun); bl.removeEventListener(ProgressEvent.PROGRESS,progressFun); bl.close(); bl = null; }
function progressFun(e:ProgressEvent):void{ trace(e.bytesLoaded); //如果是漸進式格式的jpeg圖片,那么在發(fā)布這個事件的時候讀取字節(jié),用Loader.loadBytes加載,就可以形成邊加載邊顯示 } 源代碼:
public var url:String; public var data:ByteArray; private var stream:URLStream;
public function ByteLoader(url:String = ""){ if(url != ""){ load(url); } }
//加載 public function load(_url:String):void{ url = _url; data = new ByteArray; stream = new URLStream; stream.load(new URLRequest(url)); stream.addEventListener(Event.COMPLETE,completeFun); stream.addEventListener(ProgressEvent.PROGRESS,progressFun); }