DynamicRegistration.scale缩放限制?

时间:2012-05-31 13:29:06

标签: android actionscript-3 flex flex4.5 pinchzoom

我之前检查了一些问题,例如thisanother,但没有一个问题可以解决我遇到的问题。我有一个缩放功能:

protected function onZoom(e:TransformGestureEvent, img:Image):void
            {
                DynamicRegistration.scale(img, new Point(e.localX, e.localY), img.scaleX*e.scaleX, img.scaleY*e.scaleX);
            }

和缩放工作(以及好!),但我想将缩放限制为2.5x和.8x。所以我的第一个想法是尝试这个:

protected function onZoom(e:TransformGestureEvent, img:Image):void
            {
                while(img.scaleX <= 2.5 && img.scaleX >= .8)
                    DynamicRegistration.scale(img, new Point(e.localX, e.localY), img.scaleX*e.scaleX, img.scaleY*e.scaleX);
            }

但是这会缩放到最大限制而没有任何像捏合变焦之类的交互,我认为比例刚好超过2.5倍并且它不会响应缩放。

我的下一次尝试是:

protected function onZoom(e:TransformGestureEvent, img:Image):void
            {
                while(img.scaleX <= 2.5 && img.scaleX >= .8)
                {
                    DynamicRegistration.scale(img, new Point(e.localX, e.localY), img.scaleX*e.scaleX, img.scaleY*e.scaleX);
                    if(img.scaleX > 2.5)
                    {
                        img.scaleX = 2.5;
                        img.scaleY = 2.5;
                    }
                    else if(img.scaleX < .8)
                    {
                        img.scaleX = .8;
                        img.scaleY = .8;
                    }
                }
            }

尝试将大小重置为超出范围内的限制,但这只是不成功,但图像什么都不做,应用程序锁定并导致力关闭。

有谁知道如何实现这一目标?我喜欢这种缩放方法,因为它简单,但它可以在缩放时实例化边界时使用吗?

0 个答案:

没有答案