45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > Photoshop >

Flash MX之“Loading”技术的详解

电脑软硬件应用网 45IT.COM 时间:2005-12-30 19:28 作者:45IT收集

  在这个闪客纵横的网络时代,相信大家对Flash动画应该不会陌生,而现在许多Flash动画都有Loading效果,这样做的目的主要是为了照顾在网上观看动画的朋友,在动画下载的过程中不会感到太无聊,从而让等待变得短暂,本文就为大家详细介绍Loading效果的制作。


图1

 
  实现效果

  动画刚播放时显示一个等待画面,画面显示了动画的大小,已下载的字节,已下载的百分比,百分比还通过不断变化的长方形来体现,最终效果如图1所示,这是我们常见的Loading效果,所涉及的Actions技术却很简单。

  制作过程

  1、启动Flash MX,新建一个文件,文件名为“Loading效果”;按Ctrl+J打开背景设置对话框,将背景色(Background)设置为纯黑色;选择“Modify→Scene”打开对话框(如图2),单击“+”可增加场景,这里增加一个场景,并且重新命名,第一个场景作为等待画面,第二个场景就是动画的主体,专门用来制作动画,当然了还可以在此基础上再增加需要的场景;最后在“等待画面”场景上单击使其作为当前编辑场景。


图2

  2、进入场景“等待画面”后,在原有层上再插入两个新层,分别双击层名,从上之下分别取名为:Actions、动态变化、显示信息。在层“显示信息”的第1帧的场景中输入文字(参照图1上面三行),其中的虚线框为动态文本框;三个文本框的设置基本相同(如图3),不同之处是文本框的变量名(图3中的椭圆圈出部分),从上之下,第一个为:ypkb,第二个为:loadbyte,第三个为:bfb,最后在第3帧处按F5键插入空白关键帧。


图3

  3、按Ctrl+F8键在弹出的对话框的Name项中输入:长方形,Behavior选择“MovieClip”;进入场景后利用绘图工具绘制一个天蓝色的长方形,稍微长一些;回到主场景中,在层“动态变化”的第1帧输入文字“Loading…”,然后绘制一个白色长方形,按Ctrl+L打开Library库,将刚刚制作的“长方形”影片拖放到白色长方形上方(参照图1);最后选中影片“长方形”,单击场景下方的Properties按钮,将其Instance Name设为“changfangxing”。


图4

  4、参照图4,在层“Actions”的第1帧单击右键选择“Actions”打开Actions对话框,切换到Expert Mode模式,在其中输入以下语句:

  ypbyte=this.getBytestotal();//获取动画文件的字节数

  ypkb=Math.round(ypbyte/1024);//将字节数转化为KB作单位。

  在第2帧按F6键插入关键帧,然后加上如下语句:

  loadbyte=this.getBytesloaded();//获取已下载的字节数。

  bfb=Math.round((loadbyte/ypbyte)*100);//通过四舍五入法取得百分比的数值。

  changfangxing._xscale=bfb;//让长方形的横向缩放值和百分比值相同,这样长方形就会动态改变。

  最后在第3帧插入关键帧,并且加上如下语句:

  if (bfb<100) {

  gotoAndPlay("等待画面", 2);

  } else {

  gotoAndPlay("主体动画", 1);

  }//当百分比值小于100时,继续下载,反之开始播放动画。

  5、在“主体动画”场景中,发挥自己的创意,制作动画。最后选择按“Control→Test Movie”(Ctrl+Enter)测试动画,可能不会看到预期的效果,这是因为传输速度太快,一瞬间就传送完毕;此时在测试场景下选择“Debug→56K”,再选择“View→Show Streeming”就可以看到效果,这是通过模拟网络速度为56K,动画的下载情况的动态显示,如果将动画上传到网络上就可以直接看到实际的效果。注意:刚才这一步很重要,否则就看不到效果,到时可不要说我骗人啊!呵呵……

  再度深入

  1、如果不想等待画面上有太多的信息,下面的语句也可以很简单的实现Loading效果。

  if (_root._totalframes<_root._frameloaded) {

  gotoAndPlay("等待画面", 1);

  } else {

  gotoAndPlay("主体动画", 1);

  }//当载入帧数小于影片的所有帧数,动画播放等待画面,反之播放主体动画。

  2、Loading的效果千变万化,比如说本例中长方形我们可以换成灯泡,通过灯泡慢慢变亮来表示动画下载即将完毕,这主要通过改变灯泡影片alpha值来实现明暗变化;再比如说我们还可以将长方形替换成动画,稍稍修改一下Actions语句,这样在等待的过程中动画会不停的播放,画面就不会显得太单调了。

 

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识