使用OpenGL/GLUT如何檢測兩個按鍵(如'a'和'j')是否同時按下?使用OpenGL/GLUT如何檢測兩個按鍵是否同時按下?
(這個程序需要與OSX GCC時,Windows GCC時,Windows VS2005所以不依賴於操作系統的黑客請編譯。)
使用OpenGL/GLUT如何檢測兩個按鍵(如'a'和'j')是否同時按下?使用OpenGL/GLUT如何檢測兩個按鍵是否同時按下?
(這個程序需要與OSX GCC時,Windows GCC時,Windows VS2005所以不依賴於操作系統的黑客請編譯。)
嘗試以下操作:
glutIgnoreKeyRepeat
只得到身體的keydown/KEYUP事件glutKeyboardFunc
註冊監聽keydown事件的回調。glutKeyboardUpFunc
來註冊一個監聽keyup事件的回調。bool keystates[256]
數組來存儲鍵盤按鍵的狀態。keystates[key] = true
。keystates[key] = false
。(keystates['a'] || keystates['A']) && (keystates['j'] || keystates['J'])
。看看那個方向。雖然我沒有測試過,但它應該可以工作。您可能還需要glutSpecialFunc
和glutSpecialUpFunc
才能接收「特殊」密鑰的消息。
另外,請注意,GLUT是非常古老的東西,有很多更好的選擇。
通過「更好的選擇」,如果你的意思是簡單的,然後過剩,獨立的輸入功能與GetAsyncKeyState功能得到了...
這是僅限Windows。而Windows真的很老,有很多更好的選擇。 – ybungalobill 2016-01-27 23:11:55
你可以告訴更多關於這些更好的選擇嗎? – colorfulgrayscale 2011-03-11 01:07:38