2013-07-20 21 views
2

我正在使用XNA的MonoGame實現來創建Windows Phone遊戲。玩家應該能夠使用輕彈手勢在物體上移動物體。我正在使用TouchPanel類閱讀手勢。獲取XNA中Flick手勢的起始位置

下面是如何初始化觸摸屏:

TouchPanel.EnabledGestures = GestureType.Flick; 

這裏是我在Update方法讀取的手勢:

while (TouchPanel.IsGestureAvailable) 
{ 
    var g = TouchPanel.ReadGesture(); 
    ... 
} 

然而,充滿的唯一領域是Delta載體。但是,我如何從用戶開始手勢的位置找出點?

因爲我希望我的遊戲是跨平臺的,所以我不能依賴諸如Silverlight手勢處理程序之類的非XNA代碼。

+0

XNA文檔說Flicks是無位置的,所以它的行爲如設計。你有沒有檢查在輕彈之前點擊是否發生?或者,您可能可以使用FreeDrag或使用TouchPanel.GetState並執行您自己的自定義邏輯。 http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.input.touch.gesturetype.aspx – craftworkgames

回答

2

使用Flick手勢來移動物體並不是一個好主意,因爲Flicks是無位置的。
您應該使用HoldFreeDrag手勢來檢測對象,然後在屏幕上移動它。
Flick的目的只是縮放,我建議你選擇另一個手勢。