检测到2个手指同时按下Windows Phone 8.1和Windows 8.1

时间:2015-03-15 23:45:43

标签: windows-phone-8.1 windows-8.1 multi-touch

我打算制作一个包含2个按钮的简单多人游戏,玩家必须同时按下两个按钮,如果一个玩家释放按钮,游戏必须显示弹出窗口。
我的问题是,我不知道如何让应用UI检测到双指按下

1 个答案:

答案 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;
    }
}