flash-导航栏特效1--底部跟随移动
= =仅供本人记录用,所以大多数写的不明不白,各位看官不要介意。
注意:btn1,btn2,btn3以及cursor又是元件。
var posX:Number;//储存目的地的x坐标
var speed:Number=5;//移动的速度
//给每个对象添加鼠标移入事件
btn1.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
btn2.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
btn3.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
//改事件的作用是把鼠标移入的对象的坐标储存起来,以便小球移动
//同时添加给改对象添加了循环事件
function onMove(evt:MouseEvent):void{
posX=evt.target.x;
evt.target.addEventListener(Event.ENTER_FRAME,onEnter);
}
//循环事件内的算法是改变小球的位置,当小球打到位置的时候移除循环针事件。
function onEnter(evt:Event):void{
//这里是个缓动公式=(目标点-现在点)/移动速度
cursor.x+=(posX-cursor.x)/speed;
//当为0的时候移除事件
if(posX-cursor.x==0){
evt.target.removeEventListener(Event.ENTER_FRAME,onEnter);
}
}