注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

爱网易!爱生活!

原【8合一播放器】不能播放的朋友请更换【超级版8合一播放器】地址即可,其它不用动

 
 
 

日志

 
 

好用的as3 Loading自身加载进度条 可以显示0-100  

2013-02-03 21:26:17|  分类: flash 制作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       使用过网上淘的一些as3自身加载代码,发现总是加到50以上才显示,再淘,发现大家都推荐swf+swf,不爽,后来经仔细琢磨,捣鼓出来这个,感觉还不错;我做的swf都比较大,所以顺便加了一个用户下载速度测试,低于30kb/s时红色提示,高于200kb/s时褒奖一个;把下面红色代码放到第一帧,再加三个动态文本即可,要看效果可以看下面播放器。有的人把发布设置了第一帧,但还是加载到50%以后才会显示,为什么呢?其实发布设置不一定要设置为第一帧,关键在于:不能在库内链接大文件(如音乐啊、大图片啊==)!这样就保证了第一帧没有什么内容,加载显示就从0开始显示到100了。据本人琢磨,只要库连接或类链接导入大文件的,系统都默认保存在第一帧。


stop();
import flash.display.LoaderInfo;
import flash.events.ProgressEvent;
import flash.events.Event;

var loaderinfo:LoaderInfo = this.root.loaderInfo;
loaderinfo.addEventListener(ProgressEvent.PROGRESS,onprogress);
loaderinfo.addEventListener(Event.COMPLETE,oncomplete);
loaderinfo.addEventListener(IOErrorEvent.IO_ERROR,onioerror);

function onprogress(event:ProgressEvent):void {
 var lanbo=int(loaderinfo.bytesLoaded/loaderinfo.bytesTotal*100);
 tt0.text="开始加载"+lanbo+"%";
 if (lanbo==100) {
  rambo.removeEventListener(TimerEvent.TIMER,ra);
 }
}

var i =0;
var rambo:Timer = new Timer(1000, 0);
rambo.addEventListener(TimerEvent.TIMER,ra);
rambo.start();
function ra(event:TimerEvent):void {
 i++;
 var lanbo=int(loaderinfo.bytesLoaded/(1024*30*i));
 var lanbo1=int(loaderinfo.bytesLoaded/(1024*200*i));

 if (lanbo<1) {
  tt01.visible=true;
  tt02.visible=false;
  tt01.text="您现在的下载速度很慢,\n小于30kb/s";
 } else {
  tt01.text="";
 }
 if (lanbo1>=1) {
  tt01.visible=false;
  tt02.visible=true;
  tt02.text="您现在的下载速度不错,\n大于200kb/s";
 } else {
  tt02.text="";
 }
}

function oncomplete(event:Event):void {
 gotoAndStop(2);
}



  评论这张
 
阅读(1113)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017