当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash放大镜效果深入改进(1)

Flash动画制作
FLASH基础教程:初级鼠绘教程整理
flash教程:散发闪耀佛光效果
Flash鼠绘教程:喜鹊登红梅的绘制
Flash鼠绘教程:春之恋的制作过程
Flash教程:菜鸟一起学画画之初级练习二:可爱的卡通娃娃头
Flash鼠绘教程:绘制可爱卡通MM
Flash教程:通过实例学习AS(四):画折扇
Flash制作进度条教程
Flash教程:个性播放器的制作
Flash教程:菜鸟一起学画画之初级练习三:茶
flash教程:跳动的中国心动画
Flash教程:彩球环绕:按钮控制影片剪辑
Flash教程:AS代码制作跟随鼠标的火苗
Flash鼠标跟随教程:馋嘴的兔兔
Flash教程:打造恐怖之夜闪电特效
Flash教程:AS代码制作计时器的方法
Flash教程:教你制作弹跳文字
Flash教程:运用遮罩制作儿童节快乐动画
Flash教程:运用遮罩制作仿3D效果
Flash新手入门教程:帧动画:眨眼

Flash动画制作 中的 Flash放大镜效果深入改进(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 83 ::
收藏到网摘: n/a

  放大镜效果相信大家已经很熟悉了,很多地方都有介绍:无非是将一张放大的图像做个遮罩,然后靠拖动遮罩上的图像使放大的图像随鼠标的移动显示出来。这样的效果很容易实现,但缺点很明显:在图像的边缘,特别是图像的放大比例比较大时,图像会发生比较大的偏移,也就是有时显示出来的放大图像并不是你鼠标所指的区域的图像。

  下面是我做好的一个示例,点击中间的字进入演示,可以按PageUp和PageDown改变放大倍数。用的是最终幻想电影片的图片。你可以在文章最后下载源代码。

  在我们这个例子里,我们对传统的放大镜效果进行了两处改进:

  1.保证显示的放大图像与鼠标所指区域相匹配。
  2.用户将可以自己控制放大的比例。

  要实现第一点,就需要在动画播放时,根据鼠标位置动态地改变被遮罩图片的位置。如何计算图片应在位置的坐标是个关键,其实这个算法很简单,如图:

  蓝色区域就是影片的显示区域,显示的是我们要放大的图片(小图),绿色区域是放大的要被遮罩的图片。如果此时鼠标在小图中红点处(x,y),则该点在放大后的图片中的坐标就应该是(x*scale,y*scale),scale是图片的放大倍数。只要在显示时使小图中的该点与大图中的重合,我们就可以在这个效果中实现无论鼠标指到哪里,显示的放大图像都以鼠标所指像素点为中心了。很显然,此时大图相对影片区域的坐标为:

(x1=x*(scale-1),y1=y*(scale-1))

  好了,关键算法出来了,第二点目标就很容易实现了,我们只要在影片播放时改变变量scale就行了。