【发布时间】:2014-04-03 12:27:10
【问题描述】:
我试图将程序执行延迟 200 毫秒,然后测试在延迟期间是否按下了某个键。我该怎么做?
我正在尝试使用 C 语言创建一个类似于小鸟的简单电脑游戏。我希望用户有一点点时间(~200 毫秒)来按键让小鸟跳跃,否则它会掉下来,但我在实施延迟时遇到了麻烦。
我在一些论坛 [where?] 上读到 sleep(100) 应该延迟 100 毫秒,但是当我这样做时,我会得到 100 秒。
我也尝试过使用sleep(1/5),但该函数只接受整数。
此外,我需要能够测试在 200 毫秒内是否按下了某个键;我在某处[where?] 读到 kbhit 函数可用于此目的,但我不知道如何使用它。
while(!dead) {
sleep(200); // what do I put here to get 200ms?
if (keyWasPressedDuringWait()){ //what do I put here?
notDeadAnimation():
}else{
dead=true;
deadAimation()
}
}
【问题讨论】:
-
搜索
usleep()或nanosleep()(首选第二个)。 -
试试睡吧。有关详细信息,请参阅
man usleep。 -
如果搜索“khbit”不成功,请尝试搜索“kbhit”。
-
这可以通过阅读为您的标准库实现提供的文档或使用 google
sleep function c自行回答。它是经典的 RTFM。如果您的文档甚至还不错,它会包含更细粒度功能的另见条目。
标签: c delay sleep flappy-bird-clone