RSS
当前位置 : 主页>设计教程>photoshop>

小议AS代码制作Flash loading的技巧

来源:互联网 作者:佚名 时间:11-26 10:48:24 浏览:
Flash中的loading很重要,在用户等待载入的时候用各种方式给用户实时进度反馈。客户端中的loading,通常以鼠标的手型变化来表现;web端的loading的创意则层出不穷了,用户体验更好。

  本文将主要介绍用AS3.0制作Flash loading的一些问题和解决方法。

  loading的原理

  先来看看loading的原理。在flash中,制作loading的目的是为了预先加载一部分内容(你可以选择全部加载完毕,或者加载一部分之后),然后再把flash的主要内容展示出来。一般来讲,loading是放在第一帧上面的(也可以不放在第一帧,比如放在任意一帧,但是在第一帧你要做个跳转,让播放头到loading的那一帧去)。

  相关问题和解决方法

  这里要注意一个问题,如果你的flash程序有从元件库里导出元件的话(默认为第一帧导出),要导出的原件全部加载完毕之后才会显示第一帧的内容(即,你的loading)。这样的话很可能你在第一帧导出的内容过于庞大,占据了整个flash应用的很大一部分,比如50%,那么我们实际运行的效果就是在一段空白之后loading从50%处开始显示。

  上面的问题会导致明显不好的用户体验,要避免这样的问题,通常来讲我会用到两种方法:

  第一种方法,把要导出的元件取消导出,把它们集中放在某一帧(除开你做loading的那一帧),然后在放元件的这一帧之后的那一帧开始运行你的程序。

  第二种方法,用另个一个swf来加载需要做loading的swf。
  这种方法可以有比较完整的加载进度条以及百分比文字,缺点是容易引起其他问题,这个后面会讨论。

  举例来说,我想为A.swf做一个loading,关键代码如下:

  ......this.loaderInfo.addEventListener(ProgressEvent.PROGRESS ,loadProgress);
  this.loaderInfo.addEventListener(Event.COMPLETE ,loadComplete);
  ......

  AS3.0中增加了一个新的loaderInfo类来提供已加载的swf、图像文件的信息。flashplayer通过调度ProgressEvent对象的loadProgress方法来实现对加载内容反馈的监听,当加载全部完成后,flashplayer再调度Event对象的loadComple方法。loadProgress方法是我定义的监听加载进度的方法,所有有关加载的信息都可以在这个方法中加以反馈:


上一页12 3 下一页