平時,使用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讀出來。
然後再按之前的節奏走即可。