【发布时间】:2016-10-21 19:29:02
【问题描述】:
我正在使用控制台在 Windows 上使用 C++ 制作游戏,其中涉及回合制战斗。我正在使用Sleep() 函数来延迟战斗中的消息,然后在按下键时前进。我的问题是,当游戏被睡眠功能“暂停”时,它仍然计算用户的按键,然后开始使用它们。
例如,如果用户在游戏休眠时按了四次“a”键,那么在按下该键很长时间之后,它将继续使用该键四次。
如何暂时“关闭”用户按键向程序注册的功能?
【问题讨论】:
-
你可以刷新输入流,这里回答:stackoverflow.com/questions/257091/…
-
当你从暂停中恢复时,只需将队列清空,在 kbhit 为真时继续调用 getch。虽然它引出了一个问题,你如何检测到你应该取消暂停:)