Windows Phone 开发,关于 TouchPanel的问题

平时,使用TouchPanel的时候,都是在一个大循环里,read每一个可以read的gesture。

可是,如果程序里,

while (TouchPanel.IsGestureAvailable)
                    {
                        GestureSample sample = TouchPanel.ReadGesture();
                        if (sample.GestureType == GestureType.Tap)
                        {}}

在某个环节读到了很多手势,想要忽略这些手势,比如写个if(XXX){break;}想要跳过所有的手势的话,不能实现。

因为虽然break了,但是gesture队列中的成员还没有被read到。

所以我们可以这样子做:

if (GameData.flushCheat)
                {
                    while (TouchPanel.IsGestureAvailable)
                    {
                        TouchPanel.ReadGesture();
                    }
                    GameData.flushCheat = false;
                }

其实就是把判断提取出来,既然没找到清空手势队列的函数,大不了浪费些资源,叫他先把队列中的gesture读出来。

然后再按之前的节奏走即可。

你可能感兴趣的:(Windows Phone 开发,关于 TouchPanel的问题)