2012-02-10 32 views
1

我希望有人能夠幫助解決這個問題,我已經高高在上地尋找答案。AS3捏縮放和單指拖動檢測

我有一個自定義的地圖應用程序。 我有一個可以正常拖動地圖的拖動類。 還有一個可以完美縮放地圖的縮放類。但是在一起,他們感到困惑!

基本上,我需要決定是否只有一個手指下降,或2

感謝

+0

你可以張貼一些代碼?通常,觸摸事件具有一系列已識別的觸摸。這是你如何實施捏? – 2012-02-10 14:46:01

+0

不,捏是用於GESTURE - \t \t \t _mapMC.addEventListener(TransformGestureEvent.GESTURE_ZOOM,onZoomStart); 然後我使用e.phase - BEGIN,UPDATE,END – atomicDroid 2012-02-10 14:47:20

+0

您可以同時註冊'GESTURE'和'TOUCH_POINT'事件嗎?如果是這樣,你可以使用它來手動跟蹤觸摸的次數(因爲我看不出手勢事件中的數據)。 – 2012-02-10 15:18:17

回答

0

您必須添加偵聽器,以TouchGestures和MouseEvents。

這樣子。

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 
    }