缓动应用,动态弹力

package tidus.newstep

{

import flash.display.Sprite;

import flash.events.Event;

 

import mx.utils.ColorUtil;

 

import tidus.learnclasses.Ball;

 

public class Spring1 extends Sprite

{

private var ball:Ball;

private var spring:Number = 0.1;

private var targetX:Number;

private var targetY:Number;

private var vx:Number = 40;

private var vy:Number = 30;

private var gravity:Number = 13;

private var friction:Number = 0.9;

 

public function Spring1()

{

init();

}

private function init():void

{

ball = new Ball();

addChild(ball);

ball.y = 512;

addEventListener(Event.ENTER_FRAME, enterFrameHandler);

}

private function enterFrameHandler(evt:Event):void

{

targetX = mouseX;

targetY = mouseY;

 

 

graphics.clear();

graphics.lineStyle(1);

graphics.moveTo(ball.x,ball.y);

graphics.lineTo(mouseX,mouseY);

 

 

;

var dx:Number = targetX - ball.x;

var dy:Number = targetY - ball.y;

var ax:Number = dx * spring;

var ay:Number = dy * spring;

vx += ax;

vy += ay;

vy += gravity;

vx *= friction;

vy *= friction;

ball.x += vx;

ball.y += vy;

}

}

}

posted on 2012-02-12 20:20  泰达  阅读(133)  评论(0)    收藏  举报

导航