Flash AS 实例进阶 FLASH载入等待 Loading效果
源文件下载:第一部分;第二部分;第三部分;(依次命名为1.part1.rar;1.part2.rar;1.part3.rar,,即可正常解压。)
基本思路
①令影片开始处于等待状态
② 检测影片的总长度和下载的长度,并时刻进行比较,当下载完全部或大部后开始播放。
③在影片下载过程中可以有多种辅助的显示形式,如:进度条,下载比例,下载字节数,或各种表示下载中的 MC 。
新知识点
MovieClip.getBytesLoaded();//方法;
返回已为 my_mc 指定的影片剪辑加载(流处理)的字节数。您可以将此值与 返回的值进行比较以确定已加载影片剪辑的百分比。
MovieClip.getBytesTotal()// 方法;
以字节为单位返回 my_mc 指定的影片剪辑的大小。对于那些外部的影片剪辑(加载到某个目标或某个级别的根 SWF 文件或影片剪辑),返回值为 SWF 文件的大小。
实例说明
① 一个有播放图标的 MC 写入 Loading 和 play 脚本。
②一个命名为“ xianshi ”的 MC 嵌套若干用于辅助显示的元件,此实例有进度条、动态文本、和一个有帧帧动画的 MC 。
③以上两个 MC 单独放在一个图层的第 1 帧,第 2 帧加空白关键帧,或将该图层的从第 2 帧起以后的帧完全删除。
编写动作脚本
①在播放图标的 MC 上输入:
复制代码代码如下:
onClipEvent (load) {
_root.stop();
this._visible = 0;
}
onClipEvent (enterFrame) {// 影片剪辑与帧频同步触发以下动作
load = int(_root.getBytesLoaded()/_root.getBytesTotal()*100);// 计算下载字节数的百分比
_root.xianshi.shuzi = " 已下载: "+load+"%"; // 动态显示下载进度
_root.xianshi.jindutiao._width = 2*load;// 进度条总长 200 像素,所以百分数乘2
if (_root.getBytesLoaded() == _root.getBytesTotal()) { // 下载的字节数等于文件的字节数时执行后面命令了。
this._visible = 1;
_root.xianshi._visible = 0;
}
}
on (release) {
_root.play();
}
要点分析
① Loading 的核心就是 _root.getBytesLoaded() 和 _root.getBytesTotal() 的比较, 这个实例是 _root.getBytesLoaded() == _root.getBytesTotal() ,即下载 100%SWF 文件, 其实根据网速,可以调整到下载大部分后就可以开始播放,余下部分是在播放过程中继续下载,如: _root.getBytesLoaded() >_root.getBytesTotal()*80/100 , 这样可以减少下载等待时间又可保证播放的连贯性。
②在本地机上测试 Loading 的方法是键入【 Ctrl+Enter 】或执行【控制】 - 【测试影片】,待影片开始播放后,再键入【 Ctrl+Enter 】或执行【视图】 - 【模拟下载】。
小结
通过网络 观看比较长的 swf 影片, Loading 是必不可少的,只要掌握了原理,可以设计各种有特色的下载画面,不光能消除等待的烦恼还可以给人以艺术性和欣赏性 体验。
到这里,我和大家已经登到了“楼顶”,今后由随意带领我们随意在蓝天上飞喽。
课后练习
发挥各自的想象力,制作出漂亮的“楼顶”。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/3Dsheji/169729.html