package { import flash.display.Sprite; import flash.events.Event; import flash.ui.Mouse; import flash.ui.MouseCursor; public class Spring3 extends Sprite { private var ball:Ball; private var spring:Number=0.1; private var vx:Number=0; private var vy:Number=0; private var friction:Number=0.95; public function Spring3() { init(); } private function init():void { ball = new Ball(10); addChild(ball); addEventListener(Event.ENTER_FRAME, onEnterFrame); Mouse.cursor = MouseCursor.HAND; } private function onEnterFrame(event:Event):void { var dx:Number = mouseX-ball.x; var dy:Number = mouseY-ball.y; var ax:Number = dx*spring; var ay:Number = dy*spring; vx+=ax; vy+=ay; vx*=friction; vy*=friction; ball.x+=vx; ball.y+=vy; graphics.clear(); graphics.lineStyle(1); graphics.moveTo(mouseX, mouseY); graphics.lineTo(ball.x, ball.y); } } }