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);
}