请问怎么控制键盘的灵敏度

nut799 2010-01-18 11:10:32
请问怎么控制键盘的灵敏度,我是用direct x读取每次循环读取键盘的,判断特定键是否按下,按下就执行,
结果发现太灵敏了,按一下,响应函数执行了n遍.
请问怎么控制,难道要设个时间参数,大于这个间隔才读取一次键盘吗?
...全文
107 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bcstar 2010-01-19
  • 打赏
  • 举报
回复
你可以设置在键盘 按键弹起的时候调用函数啊
gameice 2010-01-19
  • 打赏
  • 举报
回复
除了计时器,也可以用timeGetTime之类做一个规律限定
张赐 2010-01-19
  • 打赏
  • 举报
回复
就用timer来控制吧
laiguo 2010-01-19
  • 打赏
  • 举报
回复
这个很好解决的,我刚做过。你在按键事件触发后,通过定时器计数,设置一个延时数,例如20ns,然后再去不判断是否还有按键事件,还有的话,再中断,没有的话,就丢弃这个事件
gamedragon 2010-01-19
  • 打赏
  • 举报
回复
按下去开始按一个固定频率执行,直到抬起来。
luoya263547560 2010-01-19
  • 打赏
  • 举报
回复
#define TIMELAG 50//这个就是延时的大小,可以随便调节


static int timelag=0;
if (timelag <=TIMELAG)
{timelag++;}
else
{
//响应按键消息
timelag=0;
}
上面的代码改一个地方,上面的宏定义了,但是没有用到
luoya263547560 2010-01-19
  • 打赏
  • 举报
回复
定义一个延时参数,比如这样:

#define TIMELAG 50//这个就是延时的大小,可以随便调节


static int timelag=0;
if (timelag<=50)
{timelag++;}
else
{
//响应按键消息
timelag=0;
}
luoya263547560 2010-01-19
  • 打赏
  • 举报
回复
解决了的话,LZ是不是可以结贴了?
我要戒烟了 2010-01-19
  • 打赏
  • 举报
回复
恩,可以用间隔

也可以当特定键弹起时调用函数,看需求
nut799 2010-01-19
  • 打赏
  • 举报
回复
谢谢各位,特别谢谢2楼

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧