分享
 
 
 

Flash网页制作之详谈loading的制作

王朝html/css/js·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

大家知道,当flash影片或者网页体积相当大的时候,等待页面的出现是非常枯燥的,所以loading的概念就产生了

loading的制作方法有许多许多种,今天详谈一种。

好了,转入正题。

首先,CTRL+F8新建一个电影剪辑(MC),命名为loading。

然后,进入这个MC,做一个方框,不带边框,只留填充色,选中方框,按F8转换为图形元件。然后按F6在第100帧做一个关键帧。回到第一帧,用自由变形工具(Q),将loading条从左或右像中间拖,拖至一条线为止,然后从第一帧做补间。这样loading动画就是一个从中间向两边延伸的,至于为什么要做100帧的渐变动画,那就是配合100%的AS咯,到100%下载的时候,这个条就延伸完毕咯!

接下来,将名字为loading的MC拖入场景种的第一层,放到合适位置,点F5延长一帧。将MC实例命名为loading。

然后进入我们的AS部分。

在主场景中新建一层,点击F6延长出一个关键帧,因为第一帧是空白帧,所以第二帧也延长出一个空白关键帧了。

第一帧写入AS:

a=getBytesLoaded(); //a定义为getBytesLoaded()

b=getBytesTotal(); //b定义为getBytesTotal()

loaded=int(a/b*100); //定义为a除以b再乘以100,目的是求个百分整数,其实对于这个loading的效果不大,不过打个基础,对于以后功能详细的loading有用。

loading . gotoAndPlay( loaded ); //loading这里就是场景中实例命名的那个loading,在下载的同时,运行这个MC,配合上面的百分整数显示整个下载过程。

第二帧写入AS:

if(a==b){ //如果a的值,就是下载的总值等于flash本身的总值,执行下列语句

nextScene(); //转到下个场景,这里可以看到,这里的主动画和loading场景是不同的,所以我们要用shift+f2再建立一个新场景,放入主动画,而且必须在loading场景的下面。

}else{ //其他情况,就是说a不等于b,多半是没有load完的情况下、

gotoAndPlay(1); //回到第一帧,这样做一个循环,当loading不成功的情况下,回到第一帧重新执行下载。

}

这样就完成了,切记,主动画要放在另外一个场景且在loading场景之下。

这次我们介绍用AS配合动态以及静态文本来完成显示详尽下载进程,临时再决定加上百分数的显示。

上次介绍了进度条,这次就不说了,直接进入百分数以及下载进程。

首先在场景用静态文本在合适的7个合适的位置分别写上:总字节数、已下载字节数、总帧数、已下载帧数、需要时间、实际已用时间和“%”,然后时间轴上用F5延长出一个帧。

然后分别在前六个的右边用动态文本拉出6个合适大小的框,不写任何东西,在“%”的右边用动态文本拉出一个3个字位数的框。

然后分别在属性框里给对应静态文本的动态文本框加变量:

总字节数:aby

已下载字节数:bby

总帧数:af

已下载帧数:bf

需要时间:at

实际已用时间:bt

%:loaded

然后新建一层,命名为AS(这并不重要,但是养成一个会分门别类的好习惯,大家以后看我放的源文件,不管是层名、还是库里面,我都会分门别类放好,多的时候会建立相应文件夹,这样方便大家找到源文件里面想要的东西),点F6延长出一个关键帧

然后第一帧写入as:

a=getBytesTotal(); //b定义为已下载总字节数

b=getBytesLoaded(); //a定义为需要下载的总字节数

loaded=int(b/a*100); //给变量名为loaded的动态文本框显示出需要下载字节数与已下载总字节数的百分比,想但简单,就是一个数学式,b除以a再乘以100

aby=_root.getBytesTotal(); //给变量名为aby的动态文本框显示出需要下载的总字节数

bby=_root.getBytesLoaded(); //给变量名为bby的动态文本框显示出已下载总字节数

af=_root._totalframes; //给变量名为af的动态文本框显示出总帧数

bf=_root._framesloaded; //给变量名为bf的动态文本框显示出已下载帧数

at=int(((aby-bby)/(bby/bt))+bt); //给变量名为at的动态文本框显示出总时间,这里也看得出是一个数学式

bt=int((getTimer())/1000); //给变量名为bt的动态文框显示出已用时间,1000是以毫秒计的。

然后在第二帧写入as:

if(a==b){ //如果实际下载的总字节数等于需要下载的总字节数那么,接下句

nextScene(); //转到下一个场景,也就是说还跟昨天一样,要将主动画放到loading场景之下的一个场景

}else{ //其他的,也就是以上条件不能达成

gotoAndPlay(1); //回到并播放第一帧,这样做一个循环,下载不成功就做到重新下载。

}

这样就全部完成了,大家看到AS跟数学非常有关系,int这个语句其实是Mathround的简化方式,而大家在第二帧第一行里面的if(a==b)注意千万不要写成a=b,=是赋值,==才是等于,大家切记。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有