構造函數 public function ByteLoader(url:String = "") 如果傳入了參數url,則立即執行加載!
load 加載方法 public function load(_url:String):void 開始加載,_url是加載的地址
updata 更新數據方法 public function updata():void 更新緩沖區的可讀字節
close 關閉方法 public function close():void 類使用完畢,清除所有無用的數據,也可以用來強行關閉數據流,停止下載
data 屬性 public var data:ByteArray 返回加載的字節
url 屬性 public var url:String 返回加載的url
isLoad 屬性(只讀) public function get isLoad():Boolean 返回是否有數據在加載
ProgressEvent.PROGRESS 事件 加載的過程中調度,并附帶加載情況
Event.COMPLETE 事件 加載完畢調度
例子:
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圖片,那么在發布這個事件的時候讀取字節,用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); }