私のアプリで4点のマルチタッチジェスチャーを使いたいです。アプリは銀色(xnaではない)ですが、ジェスチャーはコントロールには適用されません。ユーザーが画面の左または右に4本の指をドラッグするかどうかを確認します。WP7(銀色)の4点マルチタッチジェスチャー
私は使用できるライブラリはありますか?または、自分で実装する最も簡単な方法は何ですか? XNAマルチタッチライブラリを使用できますか?
乾杯
私のアプリで4点のマルチタッチジェスチャーを使いたいです。アプリは銀色(xnaではない)ですが、ジェスチャーはコントロールには適用されません。ユーザーが画面の左または右に4本の指をドラッグするかどうかを確認します。WP7(銀色)の4点マルチタッチジェスチャー
私は使用できるライブラリはありますか?または、自分で実装する最も簡単な方法は何ですか? XNAマルチタッチライブラリを使用できますか?
乾杯
おそらく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/。
Silverlight WP7 Toolkitは、ジェスチャーの処理に最適です。
Download WP7 Toolkit
Then check out this awesome tutorial
このツールキットは2点のマルチタッチをサポートしています – user963935
XNAは最大4つのタッチポイントを処理します。それを使用できるはずですが、タイマーを使用して値を読み取る必要があります。 (ツールキットのGestureHelperはこれを内部的に行いますが、2点を返します)。 – Jermismo
これは、XNAのために良いアイデアだが、Silverlightでより良いアプローチは、 'Touch.FrameReported'リンクです:[MSDN](http://msdn.microsoft.com/en-us/library/system。 windows.input.touch.framereported.aspx) – user963935