我最近一直致力于一个大型游戏项目,虽然有几种检测键盘输入的方法。对于移动,我使用getasynckeystate(这是完美的),因为它会在按下键的每个刻度上发送一个信号。
然后是另一种方法,即keydown。此方法适用于单个按键,但后来一秒钟开始发送垃圾按键动作。
我的目标是找到一些只能检测到你的按键一次的东西,即使你按下按键;一旦你放开钥匙,它就会让你再次击中它。请帮助并感谢您阅读本文!
示例:
如果GetAsyncKeyState(Convert.ToInt32(Keys.W))那么.... 如果e.keycode = keys.B那么....
答案 0 :(得分:0)
'keyUp'事件捕获按下的键或仅按下一次的键:
Sub Control_KeyUp(sender As Object, e As KeyEventArgs) Handles Control.KeyUp
MsgBox("Pressed key: " & e.KeyCode.ToString())
End Sub
编辑:已移除私人访问权限,因此可以从其他类调用。