手机
当前位置:查字典教程网 >网页设计 >Flash教程 >AS3自写类整理笔记:ByteLoader类
AS3自写类整理笔记:ByteLoader类
摘要:index.base.net.byteLoader类讲解:基本功能按字节加载图片,swf等构造函数publicfunctionByteLoa...

index.base.net.byteLoader类讲解:

基本功能按字节加载图片,swf等

构造函数

publicfunctionByteLoader(url:String="")

如果传入了参数url,则立即执行加载!

load加载方法

publicfunctionload(_url:String):void

开始加载,_url是加载的地址

updata更新数据方法

publicfunctionupdata():void

更新缓冲区的可读字节

close关闭方法

publicfunctionclose():void

类使用完毕,清除所有无用的数据,也可以用来强行关闭数据流,停止下载

data属性

publicvardata:ByteArray

返回加载的字节

url属性

publicvarurl:String

返回加载的url

isLoad属性(只读)

publicfunctiongetisLoad():Boolean

返回是否有数据在加载

ProgressEvent.PROGRESS事件

加载的过程中调度,并附带加载情况

Event.COMPLETE事件

加载完毕调度

例子:

importindex.base.net.ByteLoader;

varbl:ByteLoader=newByteLoader;

bl.load("http://www.xiaos8.com/uploads/pro/50preso3a2.swf");

bl.addEventListener(Event.COMPLETE,completeFun);

bl.addEventListener(ProgressEvent.PROGRESS,progressFun);

functioncompleteFun(e:Event):void{

varloader:Loader=newLoader;

loader.loadBytes(bl.data);

addChild(loader);

bl.removeEventListener(Event.COMPLETE,completeFun);

bl.removeEventListener(ProgressEvent.PROGRESS,progressFun);

bl.close();

bl=null;

}

functionprogressFun(e:ProgressEvent):void{

trace(e.bytesLoaded);

//如果是渐进式格式的jpeg图片,那么在发布这个事件的时候读取字节,用Loader.loadBytes加载,就可以形成边加载边显示

}

源代码:

复制代码 代码如下:

packageindex.base.net{

importflash.events.EventDispatcher;

importflash.events.ProgressEvent;

importflash.events.Event;

importflash.utils.ByteArray;

importflash.net.URLStream;

importflash.net.URLRequest;

publicclassByteLoaderextendsEventDispatcher{

publicvarurl:String;

publicvardata:ByteArray;

privatevarstream:URLStream;

publicfunctionByteLoader(url:String=""){

if(url!=""){

load(url);

}

}

//加载

publicfunctionload(_url:String):void{

url=_url;

data=newByteArray;

stream=newURLStream;

stream.load(newURLRequest(url));

stream.addEventListener(Event.COMPLETE,completeFun);

stream.addEventListener(ProgressEvent.PROGRESS,progressFun);

}

//加载中

privatefunctionprogressFun(e:ProgressEvent):void{

if(stream.bytesAvailable==0)return;

updata();

dispatchEvent(e);

}

//加载完成

privatefunctioncompleteFun(e:Event):void{

stream.removeEventListener(Event.COMPLETE,completeFun);

stream.removeEventListener(ProgressEvent.PROGRESS,progressFun);

updata();

if(isLoad)stream.close();

dispatchEvent(e);

}

//更新数据

publicfunctionupdata():void{

if(isLoad)stream.readBytes(data,data.length);

}

//清除数据

publicfunctionclose():void{

if(isLoad)stream.close();

stream=null;

data=null;

}

//获取是否有数据在加载

publicfunctiongetisLoad():Boolean{

if(stream==null)returnfalse;

returnstream.connected;

}

}

}

【AS3自写类整理笔记:ByteLoader类】相关文章:

Flash动画设计整体知识体系介绍

Flash AS3用于读取LRC同步歌词的类

flash圆点随机不重叠排列脚本

flash怎么导出gif动画?flash制作gif动图的教程

Flash文本工具的使用方法(图文教程)

Flash教程:交换方法制作嘴型吻合

FLASH制作一个完整的loading

Flash基础:了解动画基础知识

Flash加载外部文件的方法及其技巧

Flash cs3运用遮罩鼠绘飘扬的红旗帜

精品推荐
分类导航