使用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