Actionscript 3 As3从手势保持率的角度收缩缩放图片

Actionscript 3 As3从手势保持率的角度收缩缩放图片,actionscript-3,flash,Actionscript 3,Flash,我使用下面的代码从手势的角度放大/缩小+平移,对于X/Y缩放手势非常有效,但如果只做X或Y,它会丢失比例比例 它只是一个单独的MC“largeImageContainer”,很容易在触摸和手势动画上复制问题 任何帮助都将不胜感激;) 导入flash.events.TransformGestureEvent; 导入flash.ui.multi-touch; 导入flash.ui.multi-touchinputmode; 进口fl.motion.Matrix变压器; Multitouch.inpu

我使用下面的代码从手势的角度放大/缩小+平移,对于X/Y缩放手势非常有效,但如果只做X或Y,它会丢失比例比例

它只是一个单独的MC“largeImageContainer”,很容易在触摸和手势动画上复制问题

任何帮助都将不胜感激;)

导入flash.events.TransformGestureEvent;
导入flash.ui.multi-touch;
导入flash.ui.multi-touchinputmode;
进口fl.motion.Matrix变压器;
Multitouch.inputMode=MultitouchInputMode.手势;
stage.addEventListener(TransformGestureEvent.signature\u ZOOM,onZoom);
函数onZoom(事件:TransformGestureEvent):void{
//跟踪(e.localX);
var locX:Number=event.localX;
变量locY:Number=event.localY;
var stX:Number=event.stageX;
变量stY:Number=event.stageY;
var prevScaleX:Number=largeImageContainer.scaleX;
var prevScaleY:Number=largeImageContainer.scaleY;
var-mat:矩阵;
var externalPoint=新点(stX,stY);
var internalPoint=新点(locX,locY);
largeImageContainer.scaleX*=事件.scaleX;
largeImageContainer.scaleY*=事件.scaleY;
if(event.scaleX>1&&largeImageContainer.scaleX>6){
largeImageContainer.scaleX=prevScaleX;
largeImageContainer.scaleY=prevScaleY;
}
if(event.scaleY>1&&largeImageContainer.scaleY>6){
largeImageContainer.scaleX=prevScaleX;
largeImageContainer.scaleY=prevScaleY;
}
if(event.scaleX<1.1&&largeImageContainer.scaleX<1){
largeImageContainer.scaleX=prevScaleX;
largeImageContainer.scaleY=prevScaleY;
}
if(event.scaleY<1.1&&largeImageContainer.scaleY<1){
largeImageContainer.scaleX=prevScaleX;
largeImageContainer.scaleY=prevScaleY;
}
mat=largeImageContainer.transform.matrix.clone();
矩阵变压器。将内部点与外部点匹配(mat、内部点、外部点);
largeImageContainer.transform.matrix=mat;
}
largeImageContainer.addEventListener(MouseEvent.MOUSE_DOWN,f_begin);
largeImageContainer.addEventListener(MouseEvent.MOUSE_UP,f_end);
函数f_begin(e:MouseEvent):void{
largeImageContainer.startDrag();
}
函数f_end(e:MouseEvent):void{
largeImageContainer.stopDrag();
}

实际上,这就是我想要的;)保持这个比例,因为我更关注Y而不是X

largeImageContainer.scaleX *= event.scaleY;
largeImageContainer.scaleY *= event.scaleY;
largeImageContainer.scaleX *= event.scaleY;
largeImageContainer.scaleY *= event.scaleY;