AS3.0的缓动效果
as3.0利用addEventlistener()监听命令制作缓动效果
var _timer=new Timer(30);
_timer.addEventListene("timer",onTimer);
_itmer.start()
function onTimer(event:TimerEvent):void
var vx:Number=(_targetx-_sprite.x)*_speed;
var vy:Number=(_targety-_sprite.y)*_speed;
_sprite.x+=vx;
_sprite.y+=vy;
}
上面的代码就是监听事件来触发动画的缓动效果的代码结构;以下的代码是使用上面的代码公式写的效果,只要粘贴到时间轴上就可以使用运行,影片剪辑的实名复制给_sprite变量就可以执行了。
var _targetx:Number=500;
var _targety:Number=200;
var _speed:Number=0.2;
var _sprite:MovieClip=_sprite1;
var _timer:Timer=new Timer(30);
_timer.addEventListener("timer",onTimer);
_timer.start();
function onTimer(event:TimerEvent):void {
var vx:Number=_targetx-_sprite.x;
var vy:Number=_targety-_sprite.y;
var dist:Number=Math.sqrt(vx*vx+vy*vy);
if (dist<1) {
_sprite.x=_targetx;
_sprite.y=_targety;
_timer.stop();
} else {
var dx:Number=vx*_speed;
var dy:Number=vy*_speed;
_sprite.x+=dx;
_sprite.y+=dy;
}
}


.jpg)




