var pre_y;
var pre_x;
var _stage=stage;
/**
 * 图片 放大拖动事件 添加
 * @param	_isAdd
 */
function addPicEvent(_isAdd: Boolean = true) {
	if (_isAdd) {
		moveTarget.addEventListener("mouseDown", dragHdl);
		//moveTarget.addEventListener(MouseEvent.MOUSE_WHEEL, zoomHandler);
	} else {
		moveTarget.removeEventListener("mouseDown", dragHdl);
		//moveTarget.removeEventListener(MouseEvent.MOUSE_WHEEL, zoomHandler);
	}
}


function addPicUpEvent(_isAdd: Boolean) {
	//trace("addPicUpEvent",_isAdd)
	if (_stage) {
		if (_isAdd) {
			_stage.addEventListener("mouseUp", dragUpHdl);
		} else {
			_stage.removeEventListener("mouseUp", dragUpHdl);
		}
	}
}
function dragHdl(e) {
	moveTarget.startDrag();
	addPicUpEventEf(true);

}




function dragUpHdl(e=null) {
	addPicUpEventEf(false);
	moveTarget.stopDrag();
}
/**
 * 检查 图片边界  事件添加
 * @param	_isAdd
 */
function addPicUpEventEf(_isAdd: Boolean) {
	if (_isAdd) {
		moveTarget.addEventListener("enterFrame", efHdl);
	} else {
		moveTarget.removeEventListener("enterFrame", efHdl);
	}
}

/**
 * 检查 图片边界
 * @param	e
 */
function efHdl(e) {
	//trace(moveTarget.y ,( mask_mc.height - moveTarget.height),moveTarget.y <(mask_mc.height - moveTarget.height))
	if (moveTarget.height > mask_mc.height) {
		if (moveTarget.y < (mask_mc.height - moveTarget.height)) {
			moveTarget.y = mask_mc.height - moveTarget.height;
		} else if (moveTarget.y > 0) {
			moveTarget.y = 0;
		}
	} else if (moveTarget.height < mask_mc.height) {
		if (moveTarget.y + moveTarget.height > mask_mc.height) {
			moveTarget.y = mask_mc.height - moveTarget.height;
		} else if (moveTarget.y < 0) {
			moveTarget.y = 0;
		}
	}

	if (moveTarget.width > mask_mc.width) {
		if (moveTarget.x < (mask_mc.width - moveTarget.width)) {
			moveTarget.x = mask_mc.width - moveTarget.width;
		} else if (moveTarget.x > 0) {
			moveTarget.x = 0;
		}
	} else if (moveTarget.width < mask_mc.width) {
		if (moveTarget.x + moveTarget.width > mask_mc.width) {
			moveTarget.x = mask_mc.width - moveTarget.width;
		} else if (moveTarget.x < 0) {
			moveTarget.x = 0;
		}
	}

	pre_x = moveTarget.x;
	pre_y = moveTarget.y;

}

addPicEvent();

addPicUpEvent(true);

/*********************缩放*****************************/
var zoom_y;
var zoom_x;
/**
 * 图片缩放
 * @param	e
 */
function zoomHandler(e: MouseEvent) {
	zoom_x = moveTarget.mouseX;
	zoom_y = moveTarget.mouseY;
	if (e.delta > 0) {
		moveTarget.scaleX += 0.1;
		moveTarget.scaleY += 0.1;
	} else {
		//trace(moveTarget.scaleY)
		if (moveTarget.scaleY < 0.3) {
			return;
		}
		moveTarget.scaleX -= 0.1;
		moveTarget.scaleY -= 0.1;
	}

	moveTarget.x = moveTarget.parent.mouseX - zoom_x * (moveTarget.scaleX);
	moveTarget.y = moveTarget.parent.mouseY - zoom_y * (moveTarget.scaleY);
}

  

posted on 2021-06-02 13:35  我是cdt  阅读(85)  评论(0编辑  收藏  举报