C#中按键的连续响应

来源:百度知道 编辑:UC知道 时间:2024/07/02 20:44:33
做一个游戏,有一个方法是键盘信息接收
但是有一个缺陷,玩过游戏的人应该知道连按吧,就像老式黄卡机的那种按键,比如说打魂斗罗,一个键叫单发,一个叫连发,一个叫单跳,一个叫连跳,大概就是这个意思了,
电脑键盘实际上自己就实现了"连"的功能,
但是我做的游戏始终不能达到很快实现"连"的功能,不知道大家明白我的意思没有
就是按下去过后要等上将近一秒后才实现"连续"的功能
比如一个游戏要移动一个人,通常按下方向键后先走一步,然后过上一秒再实现连续移动的功能
我是想当一按下就实现连续移动的功能
本人是C#中编程,大家请指点一下怎么解决这个问题,随便讨论一下也可以

晕死呀 打了两遍都被刷新掉了...哭
呵 你现在把鼠标点在地址栏中 然后按下键盘右键 是不是与你遇到的情况一样?
所以 这是系统类的问题.

解决的方法没有 但有达到你要求的方法.

C#中因该有取得某个按键状态的函数 如果没有 可以引用API函数
然后在你的函数中判断这个按键是否按下 如果按下 则执行你的事件.
如果你函数写在OnKeyDown之类事件中的话 有可能不行 所以 最好把处理函数写在一个定时器中
然后在里面判断按键是否按下.你应该明白吧?

还有就是可以在按下第一次的时候(系统是能立即接收到的)保存一个有效标识
然后在onkeyup中解除它的有效标识
只要你没有把按键弹起 它就一直有值.