|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用AdobeActionScript3.0开发高级的交互式项目。设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。
后面先容了ClassLoader类的技能,请寓目更多关于Flash教程的内容。
该类的次要功效是把swf,jpg,png,gif等文件以字节的情势加载出去
以便于利用Loader.loadBytes办法,反复加载利用素材
假如图片格局为jpg,而且是渐进式格局jpeg,那末该类还能够匡助你边加载边显现
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;
}
}
}
flash动画制作软件的界面没有太大的改变,只是在以前的属性面板右侧增加了两个新的选项“参数”和“滤镜”。 |
|