我打算制作一个包含2个按钮的简单多人游戏,玩家必须同时按下两个按钮,如果一个玩家释放按钮,游戏必须显示弹出窗口。
我的问题是,我不知道如何让应用UI检测到双指按下
答案 0 :(得分:0)
Windows不提供按下的总计数,但每个PointerPressed和PointerReleased事件都包含被按下或释放的指针的ID。应用程序可以继续使用它来跟踪每个ID的状态,并告知当前有多少ID被按下。
这是使用Xaml指针事件的示例。 CoreWindow指针事件的工作方式相同,但确切的类和属性会略有不同。
List<uint> pointerIDs = new List<uint>(10);
private void OnPointerPressed(object sender, PointerRoutedEventArgs e)
{
pointerIDs.Add(e.Pointer.PointerId);
Debug.WriteLine("Pointer {0} pressed. {1} total pressed", e.Pointer.PointerId, NumDown);
}
private void OnPointerReleased(object sender, PointerRoutedEventArgs e)
{
pointerIDs.Remove(e.Pointer.PointerId);
Debug.WriteLine("Pointer {0} released. {1} total pressed", e.Pointer.PointerId, NumDown);
}
int NumDown
{
get
{
return pointerIDs.Count;
}
}