flash技巧_如何避免矢量图模糊
笔者之前写了四篇Flash全站的技术应用文章:
http://www.blueidea.com/tech/multimedia/2006/3987.asp
但是内容相对比较枯燥,技术也没有跟表现很好地结合,所以,也许不能引起大家的兴趣。
从该篇文章开始,笔者将给大家介绍Flash全站中多媒体方面的应用。估计能引起大家兴趣。就该篇文章来说,我就看到有不下20人问过怎么做了。
效果预览:
http://hbro.cincn.com/cindex.htm#sub0=1
这里的图片轮换效果跟新浪的那种不太一样,因为整个代码都是笔者自己写的,而且后来下了源码,发现里头的做法跟笔者的也不尽相同,它那里基本上是用setInterval控制的。转换的特效很多是用纯AS写出来。而笔者做的那个,基本上是时间轴控制,特效也不是纯AS的。从程序规范和运行效率来说,新浪那个更接近规范的程序语言,运行效率更高。从制作的方便性和直观性来说,笔者那个制作起来更为方便,更为直观,对于不是程序员出身的Flasher来说,笔者这一个更好理解。
考虑到AS也趋向于规范性,笔者前段时间也用纯AS2.0类把这个轮换效果写成了组件。但是因为笔者多类的编程思想还不很了解,导致贻笑大方,故本篇文章就先介绍笔者这个时间轴版轮换效果的制作过程。
整个程序的流程:
1 该程序的图像列表是读XML的。故第一步先读取并分析XML,把相关的信息存于数组里头。该分析是时间轴的第一部分。
2 分析到XML以后,根据图像源,把所有图片先载入到swf,因为在图片切换的过程中,不允许有图像消失的现象或者延迟现象出现。图片是通过用遮罩效果把新的一张覆盖掉旧的一张来
实现切换的,因此需要有三个图层:一个放旧图片,一个放新图片,其中新图片被遮罩。为了不让切换时,图像有不可见的现象或者出现延迟,加载时,放旧图片和放新图片的MC里头都要先载入所有图像。然后通过设置可见性来显示相应的图像。
这是时间轴的第二部分。
3 然后,将有比较长一段时间轴,这个其实就是图片轮换的延迟时间。
4 此时,就要进入下一轮的切换了。这里,可以通过attachMovie或者duplicateMovieClip放入一个载入所有图的MC,但可惜的是,这么做需要重新loadMovie,故不可取。或者通过交换深度来实现,不过每次交换深度也很麻烦,因为要重新设置遮罩。在这里,笔者将利用人眼睛的错觉来方便实现这一过程。
具体做法如下:
这一切换过程完成了,一个周期结束。
21视频教程网