背景: #EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读新闻

典型loading的as分析

[日期:2004-10-03] 来源:  作者: [字体: ]
现在有很多朋友都做flash,都用loading,而且下一个loading
原文件也很方便,有的朋友在熟悉了使用以后,想了解这些as
的原理,我在这里说一下我的个人理解,请包涵。
按此在新窗口浏览图片

这是一个比较正规的loading这是他在第一帧的as:
byteloaded = _root.getBytesLoaded();
bytetotal = _root.getBytesTotal();
loaded = int(byteloaded /bytetotal * 100);
t = getTimer ();
percent = loaded + "% ( " + int(byteloaded/1000) + " K / " + int(bytetotal/1000) + " K )";
percent = percent + "下载速度:" + int(byteloaded/t) + " K/s";
load_bar.gotoAndStop( loaded );
timeloaded = int(t/1000);
timeremain = int(timeloaded * (bytetotal- byteloaded) / byteloaded);
timeremain = int(timeremain / 60) + "分''''" + int(timeremain % 60) + "秒"";
timeloaded = int(timeloaded / 60) + "\''''" + int(timeloaded % 60) + "\"";
downloadtime = "已用时间:" + timeloaded + "剩余时间:" + timeremain;
首先要说明的是int是取整数的意思。
我们可以知道byteloaded是已经下载的比特数,
bytetotal是文件整个的比特数,
loaded是已经下载的百分比,
t是工作到现在的毫秒数,
第一个percent是已经下载的百分比+已经下载的K数/总体的K数,形如:80%(1.2K/1.5K)
第二个percent是第一个percent+下载速度+K/s,本来下载速度应该是int(byteloaded*1000/t*1000)的就提前约分了吧,呵呵
形如:80%(1.2K/1.5K)下载速度:50K/s,这样percent是表示下载数文本框的ar, load_bar.gotoAndStop( loaded )是关键,也就是你的进度条的长度到已经下载的百分比上停止,
我们的目的是让下载数与进度条同步!也既下载数与进度条长度是一一对应的!也就要注意你的进度条在scence 的名字是load_bar,
timeloaded是工作到现在的秒数,既工作到现在的毫秒数/1000,这是一个中间变量,一会儿就变了,
第一个timeremain是通过目前的进度预测剩余的秒数,这个应用方程会解吧,呵呵
第二个timeremain是在第一个timeremain的基础上算出是几分几秒,大家看int(timeremain / 60)是算分,
int(timeremain % 60)是算秒,
同理第二个timeloaded是在第一个timeloaded的基础上算出是几分几秒,
downloadtime就简单了,大家都可以看出来了。
注意的是:
(1)进度条在scence 的名字是load_bar
(2)一个文本框的ar是percent
(3)一个文本框的ar是downloadtime 这是他在第十三帧的as:
if (byteloaded == bytetotal) {
gotoAndPlay("end");
} else {
gotoAndPlay("loop");
}
就是说,没下载完继续下载,
下载完就不下载了(废话),播放下载完的动画。
阅读:
录入:admin

推荐 】 【 打印
上一篇:在Flash MX中实现设为首页和加入收藏夹
下一篇:简单的检测鼠标是否有移动的类
相关新闻      
本文评论       全部评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款