Flex脚本代码,学习减慢速度的实现方法。
代码如下:
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class Main extends Sprite {
private var _sprite:Sprite = new Sprite( );
private var _easingSpeed:Number = 0.1;
private var _targetX:Number = 400;
private var _targetY:Number = 200;
private var _timer:Timer;
public function Main( ) {
_sprite.graphics.beginFill(0x0000ff, 100);
_sprite.graphics.drawCircle(0, 0, 25);
_sprite.graphics.endFill( );
_sprite.x = 50;
_sprite.y = 50;
addChild(_sprite);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onEnterFrame(event:Event):void {
var dx:Number = _targetX - _sprite.x;
var dy:Number = _targetY - _sprite.y;
var dist:Number = Math.sqrt(dx * dx + dy * dy);
if(dist < 1)
{
_sprite.x = _targetX;
_sprite.y = _targetY;
_timer.stop( );
}
else
{
var vx:Number = dx * _easingSpeed;
var vy:Number = dy * _easingSpeed;
_sprite.x += vx;
_sprite.y += vy;
}
}
}
}