用鼠标方向改变的 左右上下移动

package
{
import flash.display.Sprite;
import flash.events.Event;

/**
*根据鼠标移入的方向来改变旋转的方向
* @author Administrator
*
*/
public class Rotate3 extends Sprite
{
private var balls:Array=[];
private var numHandle:int=10;
private var vr:Number=.05;

public function Rotate3()
{
super();

for(var i:int=0;i<numHandle;i++)
{
var ball:Ball=new Ball;
ball.x=Math.random() * stage.stageWidth;
ball.y=Math.random() * stage.stageHeight;

this.addChild(ball);

balls.push(ball);

}

this.addEventListener(Event.ENTER_FRAME,onEnterFrame);
}

private function onEnterFrame(e:Event):void
{
//这个是左右
//var angle:Number=(mouseX-stage.stageWidth/2)*.001;
//这个是上下
var angle:Number=(mouseY-stage.stageHeight/2)*.001;


var cos:Number=Math.cos(angle);
var sin:Number=Math.sin(angle);

for(var i:int=0;i<numHandle;i++)
{
var ball:Ball=balls[i] as Ball;

var vx:Number=ball.x-stage.stageWidth/2;
var vy:Number=ball.y-stage.stageHeight/2;

var x2:Number=cos*vx+sin*vy;
var y2:Number=cos*vy-sin*vx;

ball.x=stage.stageWidth/2+x2;
ball.y=stage.stageHeight/2+y2;

}


}

}
}
posted @ 2012-03-01 12:54  ndljava  阅读(1603)  评论(0编辑  收藏  举报