2012-02-03 10 views
0

私のアプリで4点のマルチタッチジェスチャーを使いたいです。アプリは銀色(xnaではない)ですが、ジェスチャーはコントロールには適用されません。ユーザーが画面の左または右に4本の指をドラッグするかどうかを確認します。WP7(銀色)の4点マルチタッチジェスチャー

私は使用できるライブラリはありますか?または、自分で実装する最も簡単な方法は何ですか? XNAマルチタッチライブラリを使用できますか?

乾杯

答えて

0

おそらくWP7のSilverlightのAPIは、マルチタッチすなわちPinchStarted、PinchDelta、およびPinchCompletedのための2つの接触点の仮定を作る承知のとおり。

Microsoft.Xna.Framework.Input.Touch名前空間にあるTouchPanelクラスを確認してください。

//Determine the maximum number of touches permited (four for WP7): 
TouchPanelCapabilities tc = TouchPanel.GetCapabilities(); 
if(tc.IsConnected) 
{ 
    return tc.MaximumTouchCount; 
} 

//To read multitouch data from the touch input device you can do the following: 
// Process touch events 
TouchCollection touchColl = TouchPanel.GetState(); 
foreach (TouchLocation t in touchColl) 
{ 
    if ((t.State == TouchLocationState.Pressed) 
      || (t.State == TouchLocationState.Moved)) 
    { 
    //You can check the coordinates of each point (and the previous coordinate TryGetPreviousLocation()) 
    float xcoordiante = t.Position.X; 
    float ycoordiante = t.Position.Y; 

    //Determine if touch point was moved/pressed or released use the State property 
    TouchLocationState st = t.State; 

    } 
} 

詳細はここで見つけることができます:http://msdn.microsoft.com/en-us/library/ff827744.aspx

私は、しかし、特に4点タッチをターゲット任意のライブラリを見ていないあなたは、マルチタッチのデバッグに役立つライブラリを探しているなら、私は強くお勧めしますhttp://multitouch.codeplex.com/

+0

これは、XNAのために良いアイデアだが、Silverlightでより良いアプローチは、 'Touch.FrameReported'リンクです:[MSDN](http://msdn.microsoft.com/en-us/library/system。 windows.input.touch.framereported.aspx) – user963935

0

Silverlight WP7 Toolkitは、ジェスチャーの処理に最適です。
Download WP7 Toolkit
Then check out this awesome tutorial

+0

このツールキットは2点のマルチタッチをサポートしています – user963935

+0

XNAは最大4つのタッチポイントを処理します。それを使用できるはずですが、タイマーを使用して値を読み取る必要があります。 (ツールキットのGestureHelperはこれを内部的に行いますが、2点を返します)。 – Jermismo

関連する問題