我正在編寫一個遊戲,我一直在嘗試實現一個暫停遊戲功能,當用戶按下R時遊戲會暫停,在x時間後再次按R ,遊戲將恢復。當用戶按下R時,我已經得到了這個工作,當按下其他任何按鍵(如M)時,遊戲將恢復正常。但是,當我將R分配給暫停事件和非暫停事件時,會檢測到初始R的暫停和非暫停事件,並且遊戲暫停一小會兒並恢復。我嘗試過在我的暫停循環中實現定時器和計數器,但無濟於事。我真正想要做的是讓用戶在再次按下R之前必須等待x時間,這樣可以解決問題,但由於某些原因,我無法在循環內工作clock.getElapsedTime
。爲什麼是這樣?這裏是我當前的代碼:如何在一個while循環內使用一個時鐘
case sf::Keyboard::R:
pause = true;
break;
//pause game
clock1.restart();
while (pause)
{
//cout << clock1.getElapsedTime.asSeconds();
//if (clock1.getElapsedTime.asSeconds() > 1.0)
//{
if (sf::Keyboard::isKeyPressed(sf::Keyboard::R))
pause = false;
//}
}
什麼的註釋行打印? – immibis
它提出了一個錯誤,並不打印任何東西,如果你指的是cout語句 – agtv
什麼是錯誤? – immibis