游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1721|回复: 4

请问怎样解决在游戏程序中按键太过灵敏的问题呢

[复制链接]

48

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-3-24 20:56:00 | 显示全部楼层 |阅读模式

请问怎样解决按键太过灵敏的问题呢,有时按下去一下,相当于按下了四下,用for(int i=0;i<9999;i++)这样么,这样的话可以解决问题,但当在游戏运行时,会让游戏的帧慢下来,
请大家指教一下,谢谢

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-3-25 09:10:00 | 显示全部楼层

Re:请问怎样解决在游戏程序中按键太过灵敏的问题呢

timeGetTime()
winmm.lib

66

主题

223

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
发表于 2008-3-25 16:40:00 | 显示全部楼层

Re:请问怎样解决在游戏程序中按键太过灵敏的问题呢

楼主用的什么来处理处理键盘输入?
如果是DInput,那么试试buffered模式。

17

主题

166

帖子

174

积分

注册会员

Rank: 2

积分
174
发表于 2008-3-27 15:33:00 | 显示全部楼层

Re:请问怎样解决在游戏程序中按键太过灵敏的问题呢

if 上一帧被按下==false and 正在被按着==true
  then do something

9

主题

378

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
发表于 2008-3-28 13:23:00 | 显示全部楼层

Re:请问怎样解决在游戏程序中按键太过灵敏的问题呢

楼主是怎么判断按键按下的?
判断按键状态是否为按下吗,如果是这样,那么每帧都会判断一次,
每秒案件按下事件触发的次数就是你游戏帧数。

可以设定一个按键间隔的值,比如你希望按键1秒最多5次,那这个值就是200毫秒,
案件一旦按下,这个值变成200,只有当200累减到0的时候,才继续判断按键是否按下,
而且每个按键都要有一个对应的间隔值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 14:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表