flash特效原理:图片滑动放大效果

  这几天,都在无所事事,唯一寄托就是在这里记录一下自己研究出来的东西。趁现在有点时间,就把最近看过的一种常用的flash特效记录一下,flash 做特效不是为做特效而做,在make thing move 书里讲了许多的数学和物理原理,通过这些原理,我发现做特效就需要懂原理。懂了这些原理后,特效就会变得轻松容易。

 现在准备一下,讲求一个公式,这个公式对做这个特效很有帮助。公式如下:

一、基本基本原理公式

 x轴:

  图片缩放率=最大缩放率-|鼠标的x坐标值-每一张图片的x轴大小|*自定义的比例;

鼠标的x坐标值减去每一张图片的x轴大小的绝对值的差,乘以自定义的比例,然后最大缩放率减去这个值就可以知道结论:

离鼠标越近的图片,缩放比例就会越大,相反离鼠标越远相对缩放率越小。

var scale:Number=max-Math.abs(mouseX-pic.x)*ratio; 这样公式就知道了

 简化 scale=max-|mouseX-pic.x|*ratio;

同理:

y轴:

图片缩放率=最大缩放率-|鼠标的y坐标值-每一张图片的y轴大小|*自定义的比例;

二、制作过程

flash特效原理:图片滑动放大效果_第1张图片

我们制作Mc的时候,Mc里面有一个名为title的动态文本,在其上面铺盖一层透明的色的图像,同时,需要指定底部为注册点,笔者按这种方式处理。然后链接为TestMc 类

flash特效原理:图片滑动放大效果_第2张图片

库链接图:

flash特效原理:图片滑动放大效果_第3张图片

三、程序实现

接下来,准备了

现在我们写一个基础类Effect.as。这个特效基础类,可以设置最大放大率,图片间距,和比率

接下来,我们继承这个Effect.as 类,这个类里面有放大x轴的方法,和放大y轴的方法,同样有还原原来位置的方法

 

第三步:测试,通过复制TestMc。然后就进行鼠标监听,而这里我们采用的是碰撞的方法,而不是鼠标对每一张图片向上监听,为什么?这里留个疑问呢。

四 输出效果图

flash特效原理:图片滑动放大效果_第4张图片

再看看以x轴的效果是如何;可以根据自己需要还可以增加一些阴影倒影类。

flash特效原理:图片滑动放大效果_第5张图片

五、小结

 我们知道,特效是源于数学的理解,有了这一层基础,我们会制作出更多不错的效果,通过研究这些特效,而不要忘记理解背后的原理。同样,这个程序依然可以进行扩展,可以进行其修改以达到自己满意的效果,如增加一些倒影类结合图片这样看起来就更加酷。

好就介绍到这里。如果有意见或者问题处理,请留言。

你可能感兴趣的:(Flash)