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

本文介绍了如何使用Flash制作图片滑动放大效果,讲解了基本原理公式和实现步骤,包括设置最大缩放率、缩放比率和图片间距,并提供了代码示例。通过理解数学和物理原理,可以轻松实现此类特效。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

  这几天,都在无所事事,唯一寄托就是在这里记录一下自己研究出来的东西。趁现在有点时间,就把最近看过的一种常用的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轴大小|*自定义的比例;

 

二、制作过程

 

mc制作

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

 

title

库链接图:

 

testmc

 

 

三、程序实现

接下来,准备了

 

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

 

  1. package   
  2. {  
  3.   
  4.     import flash.display.MovieClip;  
  5.     import flash.events.*;  
  6.     public class Effect extends EventDispatcher  
  7.     {  
  8.         private var Ratio:Number;//缩放比率  
  9.         private var Max:Number;//设置最大缩放比率  
  10.         private var Distans:Number;//图片距离  
  11.         public function Effect()  
  12.         {  
  13.               
  14.         }  
  15.         //设置最大的缩放比率  
  16.         public function set max(value:Number):void  
  17.         {  
  18.             Max=value;  
  19.         }  
  20.         public function get max():Number  
  21.         {  
  22.             return Max;  
  23.         }  
  24.         //设置鼠标与图片之间距离的差的绝对值的缩放比率  
  25.         public function set ratio(value:Number):void  
  26.         {  
  27.             Ratio=value;  
  28.         }  
  29.         //设置鼠标与图片之间距离的差的绝对值的缩放比率  
  30.         public function get ratio():Number  
  31.         {  
  32.             return Ratio;  
  33.         }  
  34.           
  35.         //设置图片之间的距离  
  36.         public function set distance(value:Number):void  
  37.         {  
  38.             Distans=value;  
  39.         }  
  40.         public function get distance():Number  
  41.         {  
  42.             return Distans;  
  43.         }  
  44.     }  
  45. }  
package { import flash.display.MovieClip; import flash.events.*; public class Effect extends EventDispatcher {  private var Ratio:Number;//缩放比率  private var Max:Number;//设置最大缩放比率  private var Distans:Number;//图片距离  public function Effect()  {     }  //设置最大的缩放比率  public function set max(value:Number):void  {   Max=value;  }  public function get max():Number  {   return Max;  }  //设置鼠标与图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值