信息的缓动效果

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;
}
}
}
浙公网安备 33010602011771号