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

[AS3]as3图片缓动效果源代码实例

时间:2013-11-21 21:11OKXS.NET
鼠标移动到图片的一定位置时,图片会缓冲移动到鼠标位置,在现有代码的基础上在添加一些事件可以衍生出很多效果比如说,图片展示效果或者菜单效果也是经常用到的。

[AS3]as3图片缓动效果源代码实例

  1. package { 
  2.  import flash.display.*; 
  3.  import flash.events.*; 
  4.  
  5.  public class ProxMenu extends MovieClip { 
  6.  private var ia:Array; 
  7.  public function ProxMenu():void { 
  8.  //定义的四张图片的实例名 
  9.  ia = [im1, im2, im3, im4]; 
  10.  for (var i:uint = 0; i < 4; i++) { 
  11.     ia[i].buttonMode = true
  12.     ia[i].ox = ia[i].x; 
  13.     ia[i].oy = ia[i].y; 
  14.     ia[i].tx = ia[i].ox; 
  15.     ia[i].ty = ia[i].oy; 
  16.     ia[i].addEventListener(MouseEvent.ROLL_OVER, onOver); 
  17.    } 
  18.    stage.addEventListener(Event.ENTER_FRAME, onMove); 
  19.   } 
  20.   private function onOver(e:MouseEvent):void { 
  21.    e.target.mk.gotoAndPlay(2); 
  22.    addChild(MovieClip(e.target)); 
  23.   } 
  24.   private function onMove(e:Event):void { 
  25.    for (var i:uint = 0; i < 4; i++) { 
  26.     var dist:Number =  getDist(mouseX, mouseY, ia[i].ox, ia[i].oy); 
  27.      //cuplayer.com当鼠标的离图片中心点的位置小于70时.. 
  28.     if (dist < 70) { 
  29.      ia[i].tx = mouseX
  30.      ia[i].ty = mouseY
  31.     } else { 
  32.      ia[i].tx = ia[i].ox; 
  33.      ia[i].ty = ia[i].oy; 
  34.     } 
  35.    //cuplayer.com鼠标移动图片产生缓冲效果 
  36.     ia[i].x += Math.round((ia[i].tx - ia[i].x) * 0.3); 
  37.     ia[i].y += Math.round((ia[i].ty - ia[i].y) * 0.3); 
  38.    } 
  39.   } 
  40.    //cuplayer.com计算鼠标离图片中心点的距离 
  41.   private function getDist(x1:Number, y1:Number, x2:Number y2:Number):Number { 
  42.    var dx:Number = x2 - x1; 
  43.    var dy:Number = y2 - y1; 
  44.    return Math.sqrt(dx * dx + dy * dy); 
  45.   } 
  46.  } 

[AS3]as3图片缓动效果源代码实例

热门文章推荐

请稍候...

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

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