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

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

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

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

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

 

热门文章推荐

请稍候...

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

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