问题:限win32api下C++,或者使用directinput原因: 在消息回调函数中使用case WM_KEYDOWN: switch.....虽然可以响应键盘消息,但是一直按住会导致多次响应问题:如何使按下键的时候只响应一次,并且在多个键一起按下弹起时也可以正确响应消息(如: 按下A,按下D,弹起A,弹起D,应是4次响应)回答要求:一份可以顺利编译并执行的代码,我积分不是很多了,见谅
楼主,我没时间写代码,但我可以给你一个思路.你要是觉得正确,就给分吧哈哈. 建立一个标志keydown和keyup状态结构体成员的数组,里面包含了你想要监视的KEY值,如果某个KEY按下了,就把它的keydown状态置真;KEY松开置假;在switch的处理分支当中,检测这个状态值如果为真,就说明这个键被长按了,跳过;否则进入处理过程. 如果你对限win32api下C++,或者使用directinput原因: 在消息回调函数中使用case WM_KEYDOWN: switch.....虽然可以响应键盘消息,但是一直按住会导致多次响应问题:如何使按下键的时候只响应一次,并且在多个键一起按下弹起时也可以正确响应消息(如: 按下A,按下D,弹起A,弹起D,应是4次响应)回答要求:一份可以顺利编译并执行的代码,我积分不是很多了,见谅这个问题有好的意见或
建议,请留言
|