·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3放大图片功能实例

时间:2014-07-01 17:21酷播
[AS3]as3放大图片功能实例

[AS3]as3放大图片功能实例

  1. package  
  2. { 
  3.     import flash.display.Sprite; 
  4.     import flash.events.MouseEvent; 
  5.     import flash.events.Event; 
  6.  
  7.     public class Main extends Sprite 
  8.     { 
  9.  
  10.         public function Main() 
  11.         { 
  12.             initPic(); 
  13.         } 
  14.         //3行4列 
  15.         var i_max:Number = 3; 
  16.         var j_max:Number = 4; 
  17.         //初始化图片 
  18.         private function initPic():void 
  19.         { 
  20.             //显示存在原件中的12个图片 
  21.             for (var i:Number=0; i<i_max; i++) 
  22.             { 
  23.                 for (var j:Number=0; j<j_max; j++) 
  24.                 { 
  25.                     var mc:Mc=new Mc(); 
  26.                     mc.x = j * stage.stageWidth / j_max; 
  27.                     mc.y = i * stage.stageHeight / i_max; 
  28.                     mc.width = stage.stageWidth / j_max; 
  29.                     mc.height = stage.stageHeight / i_max; 
  30.                     mc["sx"] = mc.x;//小图时的x轴坐标 
  31.                     mc["sy"] = mc.y;//小图时的y轴坐标 
  32.                     mc["sw"] = mc.width;//小图片的宽 
  33.                     mc["sh"] = mc.height;//小图片的高 
  34.                     mc["isSmall"] = true;//存放图图片是否是小图 
  35.                     mc.gotoAndStop(i*j_max+j+1); 
  36.                     mc.addEventListener(MouseEvent.CLICK, mouseClickHandler); 
  37.                     stage.addChild(mc); 
  38.                 } 
  39.             } 
  40.         } 
  41.         //单击图片 
  42.         private function mouseClickHandler(event:MouseEvent):void 
  43.         { 
  44.             var mc:Mc = event.target as Mc; 
  45.             //将被单击图片至于最上 
  46.             stage.setChildIndex(mc,stage.numChildren-1); 
  47.             //单击图片,如果图片是小图就放大,如果已经放大了就还原; 
  48.             if (mc["isSmall"]) 
  49.             { 
  50.                 mc.addEventListener(Event.ENTER_FRAME, zoomInPic); 
  51.                 mc.removeEventListener(Event.ENTER_FRAME,zoomOutPic); 
  52.             } 
  53.             else 
  54.             { 
  55.                 mc.addEventListener(Event.ENTER_FRAME, zoomOutPic); 
  56.                 mc.removeEventListener(Event.ENTER_FRAME,zoomInPic); 
  57.             } 
  58.             mc["isSmall"] = ! mc["isSmall"]; 
  59.         } 
  60.         //放大图片 
  61.         private function zoomInPic(event:Event):void 
  62.         { 
  63.             //将图片改为x=0,y=0,width=stage.stageWidth,height=stage.stageHeight 
  64.             var mc:Mc = event.target as Mc; 
  65.             mc.x +=  (0 - mc.x) / 5; 
  66.             mc.y +=  (0 - mc.y) / 5; 
  67.             mc.width+=(stage.stageWidth-mc.width)/5; 
  68.             mc.height+=(stage.stageHeight-mc.height)/5; 
  69.         } 
  70.         //CuPlayer.com缩小图片 
  71.         private function zoomOutPic(event:Event):void 
  72.         { 
  73.             //CuPlayer.com将图片还原 
  74.             var mc:Mc = event.target as Mc; 
  75.             mc.x +=  (mc["sx"] - mc.x) / 5; 
  76.             mc.y +=  (mc["sy"] - mc.y) / 5; 
  77.             mc.width+=(mc["sw"]-mc.width)/5; 
  78.             mc.height+=(mc["sh"]-mc.height)/5; 
  79.         } 
  80.     } 
  81.  
  82. } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器