AS3 - 在 GESTURE_ZOOM 中检测从缩小到放大

AS3 - detect Zoom In from Zoom Out in GESTURE_ZOOM

我需要找到一种方法来简单地区分用户在 AS3 中是放大还是缩小。

这与放大或缩小图片无关。我想让用户放大文本以使其变大 (FontSize++) 或缩小文本以使其变小 (FontSize--)。

myTextBox.addEventListener(TransformGestureEvent.GESTURE_ZOOM , onZoom);
function onZoom(e:TransformGestureEvent):void {
    //if it is zoom in => call fontSizeInc  
    //if it is zoom out => call fontSizeDec
}

亲切的问候, 阿里

我通过创建一个实验性应用程序并试错找到了答案。

为了告知以后可能有类似问题的用户,我们在捏合屏幕的时候,为了判断缩放是向内还是向外,来执行一个函数,我们可以使用scaleX或者scaleY , 在这种情况下,这两个似乎没有区别!

结果:

  • 如果e.scaleX或e.scaleY大于1,即放大。
  • 如果e.scaleX或e.scaleY小于1,即缩小。

代码如下:

myTextBox.addEventListener(TransformGestureEvent.GESTURE_ZOOM , onZoom);
function onZoom(e:TransformGestureEvent):void {
 if (e.scaleX > 1) {
  fontSizeInc();
 } else if (e.scaleX < 1) {
  fontSizeDec();    
 }
}

谢谢