我想在我的应用中使用4点多点触控手势。该应用程序处于silverlight(不是xna),但手势不适用于任何控件,他们只会检查用户是否将4个手指拖到屏幕的左侧或右侧。
我可以使用任何库吗?或者我自己实现它的最简单方法是什么?我可以使用XNA多点触控库吗?
干杯
答案 0 :(得分:0)
正如您可能知道的那样,WP7 silverlight API假设有两个接触点用于多点触控,即PinchStarted,PinchDelta和PinchCompleted。
请查看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/。
答案 1 :(得分:0)
Silverlight WP7工具包非常适合做手势
Download WP7 Toolkit
Then check out this awesome tutorial