TransformGestureEvent放大图像但保持图像大小Flex

时间:2012-03-29 23:01:01

标签: image flex zoom transform gesture

我在找到我正在寻找的确切答案时遇到了问题。我正在构建一个当前允许对图像进行缩放缩放的应用程序。这是在Flash Builder 4.5中构建的。我特别想要的是在放大和缩小时保持图像的尺寸相同。因此图像仍然增加和减少,但仍然在一个看不见的盒子里。

这种解释是否有意义?

现在我可以放大和缩小,但它会改变图像大小并覆盖其他内容。最终将添加其他功能,包括平移和旋转。图像将成为嘴巴的3D模型。

如果提供了很棒的教程或资源。

这是我使用TransformGestureEvent的缩放手势的代码:

import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.TransformGestureEvent;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;

private function init():void
{
    img.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
}

private function onZoom(event:TransformGestureEvent):void
{
    var mySprite:Sprite = img as Sprite;
    if(mySprite.scaleY.valueOf() >= 1)
    {
        mySprite.scaleX *= event.scaleX;
        mySprite.scaleY *= event.scaleY;
    }
    else
    {
        mySprite.scaleX= 1;
        mySprite.scaleY = 1;
    }
}

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题是正确的。 我想你可能想看看scrollRect http://gskinner.com/blog/archives/2006/11/understanding_d.html

DisplayObject.scrollRect允许您指定一个Rectangle对象,该对象定义要显示的DisplayObject(Sprite,MovieClip等)的区域。屏蔽区域始终显示在显示对象的原点,这样您就可以通过更改矩形的x和y属性来滚动区域。