游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2321|回复: 7

为什么我的程序对键盘的反应比较慢

[复制链接]

4

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2005-3-11 15:34:00 | 显示全部楼层 |阅读模式
我的游戏循环是这样的
while(1)
    key=getkeydown();
    swith(key)
    {
    case 1:  do something;
    case 2:  do something;
    ......
    }
    draw();
    flip();
    sleep(time);
}

当我把time设成200以上时程序就对键盘的反应就比较迟钝,当设成100时就比较好了。对键盘设备我是用缓冲模式工作的。
请高手指点下这是为什么呢,我的游戏循环框架有什么问题吗? [em13]

14

主题

45

帖子

45

积分

注册会员

Rank: 2

积分
45
发表于 2005-3-12 15:38:00 | 显示全部楼层

Re:为什么我的程序对键盘的反应比较慢

sleep(time)是整个程序停止运行time时间,老兄,有没有搞错?

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2005-3-12 18:08:00 | 显示全部楼层

Re:为什么我的程序对键盘的反应比较慢

。。。。。。

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2005-3-12 18:18:00 | 显示全部楼层

Re:为什么我的程序对键盘的反应比较慢

用GetTickCount()

31

主题

630

帖子

635

积分

高级会员

Rank: 4

积分
635
发表于 2005-3-13 17:03:00 | 显示全部楼层

Re:为什么我的程序对键盘的反应比较慢

键盘得用事件的方式。或者查询DXInput状态。
如果游戏很小的话,这样也凑合。

28

主题

433

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2005-3-13 19:09:00 | 显示全部楼层

Re:为什么我的程序对键盘的反应比较慢

说实话 用sleep() 的话不能 写出高响应的
程序~~
用事件方式 也很慢~~
//-------------------------------------------------------
最好用 多线程的~~
对 输入 单独用 级别高的线程~

31

主题

630

帖子

635

积分

高级会员

Rank: 4

积分
635
发表于 2005-3-13 20:38:00 | 显示全部楼层

Re:为什么我的程序对键盘的反应比较慢

多线程也很浪费。个人感觉要求最高的场合应该用DXInput比较好

31

主题

630

帖子

635

积分

高级会员

Rank: 4

积分
635
发表于 2005-3-13 20:45:00 | 显示全部楼层

Re:为什么我的程序对键盘的反应比较慢

DXInput都封装在里面了,不用白不用。
其实,一般不用那么复杂,我现在用的就是事件的方式,速度很快。
用户一分钟也就击那么几下键盘,事件方式没问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 18:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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