信息的缓动效果

 

package  {
 
 import flash.display.MovieClip;
 import flash.events.MouseEvent;
 import flash.events.Event;
 import flash.text.TextFormat;
 
 
 public class XinXi extends MovieClip {
  private var panduan:Number;//定义变量来记录鼠标按下时的数值
  public function XinXi() {
   gengduo.mask = mask1;
   initShijian();
  }
  private function initShijian():void
  {
   gengduo.jianLiXinXi.addEventListener(MouseEvent.MOUSE_DOWN,onjianLiXinXiDownHandler);
   gengduo.shouJIanXiang.addEventListener(MouseEvent.MOUSE_DOWN,onshouJIanXiangDownHandler);
   gengduo.caoGao.addEventListener(MouseEvent.MOUSE_DOWN,oncaoGaoDownHandler);
   gengduo.faJianXiang.addEventListener(MouseEvent.MOUSE_DOWN,onfaJianXiangDownHandler);
   gengduo.yiFaXinXi.addEventListener(MouseEvent.MOUSE_DOWN,onyiFaXinXiDownHandler);
   gengduo.wenJianJia.addEventListener(MouseEvent.MOUSE_DOWN,onwenJianJiaDownHandler);
   gengduo.shanChuXinXi.addEventListener(MouseEvent.MOUSE_DOWN,onshanChuXinXiDownHandler);
   gengduo.XiaoQuGuangGao.addEventListener(MouseEvent.MOUSE_DOWN,onXiaoQuGuangGaoDownHandler);
   gengduo.moBan.addEventListener(MouseEvent.MOUSE_DOWN,onmoBanDownHandler);
   gengduo.xinXiSheZhi.addEventListener(MouseEvent.MOUSE_DOWN,onxinXiSheZhiDownHandler);
   this.addEventListener(Event.ENTER_FRAME,onEnterFrameHandler);
   //------------------------------------------------------------------
   //为实现缓动注册按下事件和鼠标释放按键
   gengduo.addEventListener(MouseEvent.MOUSE_DOWN,ongengduoDownHandler);
   gengduo.addEventListener(MouseEvent.MOUSE_UP,ongengduoUpHandler);
   //放止鼠标在外部释放而造成错误,所以为舞台注册鼠标释放事件
   this.addEventListener(MouseEvent.MOUSE_UP,onthisUpHandler);
   //------------------------------------------------------------------
  }
  private function onEnterFrameHandler(e:Event):void
  {
   if(gengduo.beiJing.y == gengduo.jianLiXinXi.y)
   {
    gengduo.jianLiXinXi.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.jianLiXinXi.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.shouJIanXiang.y)
   {
    gengduo.shouJIanXiang.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.shouJIanXiang.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.caoGao.y)
   {
    gengduo.caoGao.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.caoGao.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.faJianXiang.y)
   {
    gengduo.faJianXiang.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.faJianXiang.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.yiFaXinXi.y)
   {
    gengduo.yiFaXinXi.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.yiFaXinXi.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.wenJianJia.y)
   {
    gengduo.wenJianJia.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.wenJianJia.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.shanChuXinXi.y)
   {
    gengduo.shanChuXinXi.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.shanChuXinXi.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.XiaoQuGuangGao.y)
   {
    gengduo.XiaoQuGuangGao.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.XiaoQuGuangGao.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.moBan.y)
   {
    gengduo.moBan.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.moBan.txt.textColor = 0xffffff;
   }
   
   if(gengduo.beiJing.y == gengduo.xinXiSheZhi.y)
   {
     gengduo.xinXiSheZhi.txt.textColor = 0x000000;
   }
   else
   {
    gengduo.xinXiSheZhi.txt.textColor = 0xffffff;
   }
  }
  //------------------------------------------------------------------
  private function ongengduoDownHandler(e:MouseEvent):void
  {
   panduan = mouseY;
   //添加移动事件,
   gengduo.addEventListener(MouseEvent.MOUSE_MOVE,ongengduoMoveHandler);
  }
  private function ongengduoMoveHandler(e:MouseEvent):void
  {
   //如果gengduo在-49.55和48.3之间,让gengduo跟随鼠标缓动
   if(gengduo.y>=-49.55 && gengduo.y<=48.3)
   {
    gengduo.y += (mouseY-panduan)/15;//缓动公式
   }
   //否则的话,移除移动事件,为实现第二次缓动,让gengduo的坐标重新回到指定的范围内
   else
   {
    gengduo.removeEventListener(MouseEvent.MOUSE_MOVE,ongengduoMoveHandler);
    if(gengduo.y<-49.55)
    {
     gengduo.y=-49.55;
    }
    if(gengduo.y>48.3)
    {
     gengduo.y=48.3;
    }
   }
   
  }
  private function ongengduoUpHandler(e:MouseEvent):void
  {
   gengduo.removeEventListener(MouseEvent.MOUSE_MOVE,ongengduoMoveHandler);
  }
  private function onthisUpHandler(e:MouseEvent):void
  {
   gengduo.removeEventListener(MouseEvent.MOUSE_MOVE,ongengduoMoveHandler);
  }
  //------------------------------------------------------------------
  private function onjianLiXinXiDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.jianLiXinXi.y;
  }
  private function onshouJIanXiangDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.shouJIanXiang.y;
  }
  private function oncaoGaoDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.caoGao.y;
  }
  private function onfaJianXiangDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.faJianXiang.y;
  }
  private function onyiFaXinXiDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.yiFaXinXi.y;
  }
  private function onwenJianJiaDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.wenJianJia.y;
  }
  private function onshanChuXinXiDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.shanChuXinXi.y;
  }
  private function onXiaoQuGuangGaoDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.XiaoQuGuangGao.y;
  }
  private function onmoBanDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.moBan.y;
  }
  private function onxinXiSheZhiDownHandler(e:MouseEvent):void
  {
   gengduo.beiJing.y = gengduo.xinXiSheZhi.y;
  }
  
 }
 
}

posted on 2012-11-07 22:35  笔墨丹青  阅读(306)  评论(0)    收藏  举报

导航