• as3 拖动限制 缩放放大对象


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

      

  • 相关阅读:
    通用权限管理设计 之 数据库结构设计
    jQuery LigerUI 插件介绍及使用之ligerDateEditor
    jQuery LigerUI 插件介绍及使用之ligerTree
    jQuery LigerUI V1.01(包括API和全部源码) 发布
    jQuery liger ui ligerGrid 打造通用的分页排序查询表格(提供下载)
    jQuery LigerUI V1.1.5 (包括API和全部源码) 发布
    jQuery LigerUI 使用教程表格篇(1)
    jQuery LigerUI V1.0(包括API和全部源码) 发布
    jQuery LigerUI V1.1.0 (包括API和全部源码) 发布
    nginx keepalived
  • 原文地址:https://www.cnblogs.com/dt1991/p/14840932.html
Copyright © 2020-2023  润新知