0
我正在執行一個GetAsyncKeyState事件處理程序,當在C++中按下'c'鍵時。更好地植入按鍵
這裏是我的代碼:
bool isKeyPressed = false;
void someFuntionOne()
{
if(GetAsyncKeyState('C') & 0x8000)
{
if(isKeyPressed)
{
isKeyPressed = false;
}
else
{
isKeyPressed = true;
}
}
}
void someFunctionTwo()
{
if(isKeyPressed)
{
// Do something
}
}
所以bassically我想知道如果「C」已經被按下不舉辦下來,我用我的布爾變量isKeyPressed告訴我,如果鍵在按下任何一點。如果它被按下,則將isKeyPressed設置爲true,如果再次按下,則將isKeyPressed設置爲false。
我遇到的問題是我正在運行一個巨大的OpenGL/C++程序,需要花費大量時間才能在單次迭代中執行整個程序,因此如果用戶按下'C'鍵,程序可能無法及時捕獲該事件,因爲它仍在執行其他代碼的其餘部分,並且當前不在代碼的檢查GetAsyncKeyState('C')& 0x8000的代碼段。
有沒有更好的方法可以檢查這個事件,程序總是監聽事件發生在任何執行時間點?我怎樣才能實現這個?
您可以刪除整個的if/else塊並將其替換爲:isKeyPressed = isKeyPressed – CoryKramer
偉大的小費感謝! – Morelka