平时,使用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读出来。
然后再按之前的节奏走即可。