とりあえずよくわすれるからメモ
バネの動きについて

原則としては、
単位時間での、「目的位置」 – 「現在位置」を「加速度」と設定する。
この加速度でオブジェクトを動かせばそれはバネの動きとなる。

ステージにball_mcをおいた状態でのフレームアクション
簡単に書くと、

//初速度
var v0x:Number=0;
//速度
var vx:Number=0;

addEventListener(Event.ENTER_FRAME, entarFrameHandler);
vx=v0x;
function entarFrameHandler(e:Event):void {
	//マウス位置とボールの位置の差を加速度とということにする
	//つまりは目的位置 - 現在位置 を加速度にするということ。
	//この加速度は毎フレームごとで当然変化する。
	//良くわからんが、(目的位置 - 現在位置) で求めた加速度はバネの性質を持つ
	var ax = mouseX - ball_mc.x;
	
	//速度に加速度を単位時間毎に足すということ
	vx += ax;
	
	//位置に速度を単位時間毎に足すということ
	//ここでの速度はマウス位置で変化
	ball_mc.x+=vx;
}

ただしこれだと、バネは収束しないので二つのパラメータを設定して制御。
空気抵抗:1以下の数値を設定し、バネの収束する速度を調整
バネ定数:1以下の数値を設定し、バネの硬さを調整(小さい方が軟らかくなる)

//初速度
var v0x:Number=0;
//速度
var vx:Number=0;
//バネ定数(1以下、数値を上げるほど硬いバネ)
var spring:Number = 1;
//空気抵抗(数値を下げるほど、行ったり来たりが短く)
var friction:Number = 0.9

addEventListener(Event.ENTER_FRAME, entarFrameHandler);
vx=v0x;
function entarFrameHandler(e:Event):void {
	//マウス位置とボールの位置の差を加速度とということにする
	//つまりは目的位置 - 現在位置 を加速度にするということ。
	//この加速度は毎フレームごとで当然変化する。
	var ax = mouseX - ball_mc.x;
	//加速度にバネ定数をかける
	//良くわからんが、(目的位置 - 現在位置) * バネ定数で求めた加速度はバネの性質を持つ
	//(目的位置 - 現在位置) (* バネ定数:かけなくてもバネっぽい動き)で求めた加速度、これを忘れないように。
	ax = ax * spring
	
	//速度に加速度を単位時間毎に足すということ
	vx += ax;
	//速度に空気抵抗かける
	vx *= friction;
	
	//位置に速度を単位時間毎に足すということ
	//ここでの速度はマウス位置で変化
	ball_mc.x+=vx;
}