2012-04-18 107 views
1

我有這個在我的XNA遊戲的更新()部分:如何使滑動手勢在Windows Phone平滑滾動/ XNA

  while (TouchPanel.IsGestureAvailable) 
     { 
      GestureSample gs = TouchPanel.ReadGesture(); 

      switch (gs.GestureType) 
      { 
       case GestureType.Flick: 
        _GameMap.GameCamera.Translate(new Vector2(-gs.Delta.X/2, 0)); 
        //moves the camera by this amount 
        break; 
      } 
     } 

但勿庸置疑,當我輕彈沒有滾動(如谷歌地球或憤怒的小鳥),它只是一個開始和結束。我該如何實現滾動瀏覽?

回答

5

Windows Phone 7 Game Development:當用戶釋放與 屏幕(...)這往往是有益的啓動動力學滾動,其中 對象後繼續移動聯繫

快速滑動手勢被觸發在用戶一直在移動的方向 中發佈。

如果這裏所描述的動力學滾動是你想要什麼,然後在檢測到輕拂,節省三角洲,並在每一幀,將通過三角洲(次一些常數)和一定量酌減。這將導致屏幕逐漸移動並減速。

如果將文本從字面上理解,只報道了手勢,當用戶釋放接觸,這意味着期間接觸的頁面不動。在這種情況下,您還需要查找某種類型的拖動手勢(可能是FreeDrag),並在拖動過程中開始移動屏幕。