AS3捏缩放和单指拖拽检测

时间:2012-02-10 14:36:57

标签: actionscript-3 zoom drag multi-touch

我希望有人可以帮助解决这个问题,我已经找到了答案的高低。

我有一个自定义地图应用。 我有一个拖动类可以很好地拖动地图。 还有一个缩放级别,可以完美地缩放地图。 但是他们一起感到困惑!

基本上,我需要决定是否只有一根手指掉下来,或者是2。

由于

1 个答案:

答案 0 :(得分:0)

您必须将侦听器添加到Touch Gestures和鼠标事件。

像这样。

addEventListener(TransformGestureEvent.GESTURE_ZOOM , zoom);
addEventListener(MouseEvent.MOUSE_MOVE, move);

并制作类似

的内容
    private var oldx:Number = 0;
    private var oldy:Number = 0;
    //This will make the Drag
    private function move(e:MouseEvent):void{

        if(e.buttonDown){
            image.x+=e.localX-oldx;             
            image.y+=e.localY-oldy;
        }

        oldx = e.localX;
        oldy = e.localY;
    }   
    //This will deal with the zoom.
    private function zoom(e):void{
        image.scaleX *= e.scaleX;
        image.scaleY *= e.scaleY;
        //The pivot is not implemented. it must be implemented here
    }