我想添加一個函數到我正在編輯的程序。在這個程序中,我有各種If語句,它們使用Microsoft Kinect設備來檢查某個人處於某個特定位置的位置,或者檢查他們的頭部動作等等,並根據他們在做什麼顯示一種反饋。如果聲明條件時間檢查
if (pitch > 10)
{
//display icon
}
else if (pitch <10)
{
//display icon
}
//etc..
目前,該圖標根據用戶的移動快速打開/關閉。由於這可能會讓用戶感到困惑,我希望條件在顯示前匹配幾秒鐘。例如如果(音高> 10)X秒,則顯示圖標。
不知道這樣做的最有效的方法是什麼,我試過了一個計時器和任務延遲,但我認爲這只是延遲了結果,而不是在一段時間內檢查條件。
[Task.Delay](https://msdn.microsoft.com/en-us/library/hh194845(v = vs.110).aspx)另請參閱:http://stackoverflow.com/問題/ 5449956 /如何添加延遲爲2或3秒 – Habib
你已經發現histeresis!對於直接與人交互的系統而言,這是一個衆所周知的問題。 –
假設以上是在某種遊戲循環中,只需存儲音高第一次超過10的時間,在音高<10時將其清除,並在循環的每次迭代中檢查「DateTime.Now」是否> X秒在最初的時間之後。 – adv12