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