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

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

 2010-03-02 00:00:00 来源:WEB开发网   
核心提示: 第三步:测试,通过复制TestMc,flash特效原理:图片滑动放大效果(4),然后就进行鼠标监听,而这里我们采用的是碰撞的方法,可以进行其修改以达到自己满意的效果,如增加一些倒影类结合图片这样看起来就更加酷,而不是鼠标对每一张图片向上监听,为什么?这里留个疑问呢

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

   1. package   
   2. {  
   3.     import flash.display.MovieClip;  
   4.     import flash.events.*;  
   5.     import flash.geom.*;  
   6.     import flash.system.*;  
   7.     import flash.text.*;  
   8.     import flash.display.BitmapData;  
   9.     import flash.display.Bitmap;  
  10.     import flash.display.DisplayObject;  
  11.     import flash.display.Shape;  
  12.     import flash.display.Graphics;  
  13.     import flash.display.GradientType;  
  14.     import flash.utils.getDefinitionByName;  
  15.     import flash.display.Loader;  
  16.     import flash.net.*;  
  17.     import flash.display.DisplayObjectContainer;  
  18.       
  19.     public class main extends MovieClip  
  20.     {  
  21.         private var array:Array;  
  22.         private var list:MovieClip;  
  23.         private var myphoto:RollPhoto;//图片滚动对象  
  24.         private var contain:MovieClip=new MovieClip();  
  25.         private var loader:Loader;  
  26.         public function main()  
  27.         {  
  28.             init();  
  29.         }  
  30.         private function init():void  
  31.         {  
  32.             myphoto=new RollPhoto(stage);//初始化对象  
  33.             myphoto.max=1.4;//设置最大缩放比例  
  34.             myphoto.ratio=0.0025;//设置自定义比例  
  35.             myphoto.distance=10;//设置图片间的距离  
  36.             createObj();  
  37.             addEventListener(Event.ENTER_FRAME,Run);  
  38.             addChild(contain);  
  39.         }  
  40.         //创建物体  
  41.         private function createObj():void  
  42.         {  
  43.             array = new Array();  
  44.             list = new MovieClip();  
  45.             list.y=60;  
  46.             list.x=200;  
  47.             list.name = "list";  
  48.             addChild(list);  
  49.   
  50.             for (var i:uint=0; i<10; i++)  
  51.             {  
  52.                 var myclass:Object=getDefinitionByName("TestMc");                 
  53.                 var bit:MovieClip= new myclass() as MovieClip;  
  54.                 bit.title.text="Menu"+i;  
  55.                 bit.ID=i;  
  56.                 bit.mouseChildren = false;  
  57.                 bit.buttonMode = true;  
  58.                 bit.x =20;  
  59.                 bit.y =bit.height/2+i*(bit.height+10);  
  60.                 array.push(bit);  
  61.                 list.addChild(bit);  
  62.                 bit.addEventListener(MouseEvent.MOUSE_DOWN,listdown);  
  63.             }  
  64.             stage.addEventListener(MouseEvent.MOUSE_MOVE,listmove);  
  65.         }  
  66.         private function Run(event:Event):void  
  67.         {  
  68.             memory.text=String(System.totalMemory/1024)+"/kb";//内存监控  
  69.         }  
  70.         private function listmove(e:MouseEvent):void  
  71.         {  
  72.             if (list.hitTestPoint(mouseX,mouseY))  
  73.             {  
  74.                 myphoto.ZoomPhotoY(array);//以y轴为例  
  75.             }  
  76.             else  
  77.             {  
  78.                 System.gc();  
  79.                 myphoto.RestPosition(array,"y");  
  80.             }  
  81.         }  
  82.         private function listdown(event:MouseEvent):void  
  83.         {  
  84.             trace(event.currentTarget);  
  85.             //removeAllChildren(contain);//删除容器中对象  
  86.             //load(event.currentTarget.ID);  
  87.         }  
  88.         //加载外部图片  
  89.         private function load(path:String):void  
  90.         {  
  91.             loader=new Loader();  
  92.             loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);  
  93.             loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,onError);  
  94.             loader.load(new URLRequest(path));  
  95.         }  
  96.         private function onComplete(event:Event):void  
  97.         {  
  98.             loader.removeEventListener(Event.COMPLETE,onComplete);  
  99.             contain.addChild(event.currentTarget.content);  
 100.             contain.alpha=0;  
 101.             contain.x=150;  
 102.             contain.y=100;  
 103.               
 104.         }  
 105.         private function onError(event:Event):void  
 106.         {  
 107.             throw new Error("路径错误");              
 108.         }  
 109.           
 110.         private function removeAllChildren(container:DisplayObjectContainer):void  
 111.         {  
 112.             while (container.numChildren>0)  
 113.             {  
 114.                 container.removeChildAt(0);  
 115.             }  
 116.   
 117.         }  
 118.     }  
 119. } 

四 输出效果图

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

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

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

查看原图(大图)

五、小结

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

好就介绍到这里。

上一页  1 2 3 4 

Tags:flash 特效 原理

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