WEB开发网
开发学院图形图像Flash flash特效原理:图片滑动放大效果 阅读

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

 2010-03-02 00:00:00 来源:WEB开发网   
核心提示: 接下来,我们继承这个Effect.as 类,flash特效原理:图片滑动放大效果(3),这个类里面有放大x轴的方法,和放大y轴的方法

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

   1. package   
   2. {  
   3.     //图片滑动效果version 1.0  
   4.   
   5.     import flash.display.MovieClip;  
   6.     import flash.display.Stage;  
   7.     public class RollPhoto extends Effect  
   8.     {  
   9.         private var mc:MovieClip=new MovieClip();  
  10.         private var mystage:Stage;  
  11.         public function RollPhoto(stage:Stage)  
  12.         {  
  13.             this.mystage=stage;  
  14.         }  
  15.           
  16.         //图片放大  
  17.         public function ZoomPhotoX(array:Array):void  
  18.         {  
  19.             var mouseposition:Number = mystage.mouseX;  
  20.             var length:Number=array[0].width*array.length+super.distance*(array.length-1);  
  21.             if (mouseposition<0)  
  22.             {  
  23.                 mouseposition=0;  
  24.             }  
  25.             if (mouseposition>length)  
  26.             {  
  27.                 mouseposition=length;  
  28.             }  
  29.             for (var i:uint=0; i<array.length; i++)  
  30.             {  
  31.                 var s:Number =super.max- Math.abs(mystage.mouseX - array[i].x)*super.ratio;//公式  
  32.                 s = s < 1 ? 1 : s;  
  33.                 array[i].scaleX = array[i].scaleY =s;  
  34.             }  
  35.             for (var j:uint=1; j<array.length; j++)  
  36.             {  
  37.                 array[j].x = array[j-1].x + array[j-1].width/2 + array[j].width/2 + super.distance;  
  38.             }  
  39.         }  
  40.         //图片以y轴放大  
  41.         public function ZoomPhotoY(array:Array):void  
  42.         {  
  43.             var mouseposition:Number = mystage.mouseY;  
  44.             var length:Number=array[0].width*array.length+super.distance*(array.length-1);  
  45.             if (mouseposition<0)  
  46.             {  
  47.                 mouseposition=0;  
  48.             }  
  49.             if (mouseposition>length)  
  50.             {  
  51.                 mouseposition=length;  
  52.             }  
  53.             for (var i:uint=0; i<array.length; i++)  
  54.             {  
  55.                 var s:Number =super.max- Math.abs(mystage.mouseY - array[i].y)*super.ratio;//公式  
  56.                 s = s < 1 ? 1 : s;  
  57.                 array[i].scaleX = array[i].scaleY =s;  
  58.             }  
  59.             for (var j:uint=1; j<array.length; j++)  
  60.             {  
  61.                 array[j].y = array[j-1].y + array[j-1].height/2 + array[j].height/2 + super.distance;  
  62.             }  
  63.         }  
  64.         //还原  
  65.         public function RestPosition(array:Array,type:String="x"):void  
  66.         {  
  67.             for (var i:uint=0; i<array.length; i++)  
  68.             {  
  69.                 array[i].scaleX =array[i].scaleY=1;  
  70.                 if (type=="x")  
  71.                 {  
  72.                     array[i].x = array[0].width/2+i*(array[0].width + super.distance);  
  73.                 } else  
  74.                 {  
  75.                     array[i].y = array[0].height/2+i*(array[0].height + super.distance);  
  76.                 }  
  77.             }  
  78.         }  
  79.     }  
  80. }  

上一页  1 2 3 4  下一页

Tags:flash 特效 原理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接