ziniulian2
4/18/2016 - 1:25 AM

鼠标控制图片旋转

鼠标控制图片旋转

import flash.events.MouseEvent;
var wheelSpeed:Number = 5;			// 滚轮速度
var centerX:Number = img_up.x;		// 旋转中心X
var centerY:Number = img_up.y;		// 旋转中心Y
var curX:Number;		// 当前鼠标位置X
var curY:Number;		// 当前鼠标位置Y
var xx:Number;
var yy:Number;
var aa:Number;

img_up.addEventListener(MouseEvent.MOUSE_WHEEL,onWheel);
stage.addEventListener(MouseEvent.MOUSE_DOWN,dragStart);
stage.addEventListener(MouseEvent.MOUSE_UP,dragStop);

// 滚轮控制
function onWheel(e:MouseEvent){
	if (e.delta>0){
		e.target.rotation += wheelSpeed;
	}else{
		e.target.rotation -= wheelSpeed;
	}
}

// 鼠标按下,开启拖放监听
function dragStart(e:MouseEvent){
	curX = e.stageX;
	curY = e.stageY;
	stage.addEventListener(MouseEvent.MOUSE_MOVE,drag);
}

// 鼠标抬起,关闭拖放监听
function dragStop(e:MouseEvent){
	stage.removeEventListener(MouseEvent.MOUSE_MOVE,drag);
}

// 鼠标拖动
function drag(e:MouseEvent){
	// trace(e.stageX + " , " + e.stageY);
	xx = e.stageX;
	yy = e.stageY;
	aa = (Math.atan2(yy-centerY, xx-centerX) - Math.atan2(curY-centerY, curX-centerX))/Math.PI*180;
	e.target.rotation += aa;
	curX = xx;
	curY = yy;
}