`
wangangie10
  • 浏览: 39437 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Flash中加载影片时,Loading的位置对影片的影响

阅读更多

 在论坛经常看到Loading加载方式的探讨,不过大多都是讨论用何种加载方法及代码,今天我想对Flash中加载影片时,Loading的位置对影片的影响.Flash Loading有多种制作及加载方式,本文研究的重点是讨论主影片中加载外部swf文件时Loading的位置对影片的影响.也就是将Loading写在主影片内部还是被加载影片中.
    首先从缓存进行考虑,由于浏览器可以缓存Flash文件,因此Loading放在主影片内部,或者被加载影片中都没有影响,浏览器第一次会自动缓存这些文件.从操作以及维护上进行分析,在主影片上的Loading可以写成一个函数,然后加载外部SWF文件时可以调用这个函数,维护方便,另外如果是加载jpg等图片时候也可以使用Loading.放在被加载的外部文件中具有不同影片的Loading相互独立,可以制作多种Loading效果.从响应以及加载速度上分析:[同一主文件及外部加载文件,Flash MX2004Professional]
1: 对主文件内部Loading加载外部文件进行测试:
在主文件中新建一个按钮和一个名称为jindutiao的进度条影片,AS代码如下:
on (press) {
       t1 = getTimer();
       _root.createEmptyMovieClip("m1_mc", 2);//建立一个空MC
       m1_mc.loadMovie("1.swf");//加载文件名为1.swf的外部文件
       m1_mc._visible = false;
       _root.onEnterFrame = function() {
              t2 = getTimer();
              var l = m1_mc.getBytesLoaded();//取得下载字节数
              var t = m1_mc.getBytesTotal();//取得SWF总字节数
              per = int((l/t)*100);//per是动态文本框
              if ((l>=t) && (t>0)) {
                     t3 = getTimer();
                     trace(t3);
                     trace(t3-t2);
                     trace(t2-t1);
                     delete this.onEnterFrame;//删除帧触发事件
                     m1_mc._visible = true;//使MC可见
                     jindutiao._visible = false;//使进度条可不见
                     m1_mc._x = 0;//调整位置,也可调其它属性
                     m1_mc._y = 0;
              } else {
                     jindutiao._visible = true;
                     setProperty("jindutiao", _xscale, per);
              }
       }
}
 
参数:
将Loading代码写在主文件内部时,主文件大小为3792字节,加载文件702539字节,在33400B/S的带宽下进行5次测试,时间分布如下:
21034ms
21048ms
21021ms
21060ms
21082ms
平均:21049ms,两个影片总字节数:706331
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-loadingjiaocheng/2059.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics