水平方向のバネの動きをメモ。
var spring:Number = 0.1; //0~1 var targetX:Number = stage.stageWidth / 2; var vx:Number = 0; var friction:Number = 0.9; addEventListener(Event.ENTER_FRAME, bane); function bane(event:Event):void { var dx:Number = targetX - maru_mc.x; var ax:Number = dx * spring; vx += ax; vx *= friction; maru_mc.x += vx; }
ステージにmaru_mcを配置します。
そして初期設定で変数spring:バネの強さ、targetX:目標地点、vx:maru_mcの初期位置の数値、friction:減速(摩擦)係数を設定します。
後は上記の処理をENTER_FRAMEで。目標地点までは加速度は減り続けるが速度は増え続けるというものです。
コメントする