首页 > 解决方案 > 如何在我开始持有 c++ 后立即开始打印

问题描述

我正在创建一种赛车游戏,我有箭头键来左右移动汽车(向上和向下箭头不起作用)。但是当您按住左/右时,大约需要半秒钟才能开始遍历。

这是进一步的解释:

所以让我们想象这是我的车:

 O
OOO  
 O 
OOO

当您按 <- left 或 -> right 时,它会按原样移动(我已将其设置为移动一个空格)。但是当你握住它时,大约需要半秒钟才能开始反复移动。

我如何让它立即移动?

还有一件事,如果可能的话,我不想更改计算机上的个人设置。

感谢您将来的回答。

标签: visual-studiowinapivisual-c++

解决方案


您可能想使用GetKeyStateGetAsyncKeyState(但更有可能GetKeyState)。

任何一个都可以让您读取键的状态,因此您将调用一次以查看是否按下了左箭头键,然后分别查看是否按下了右箭头键(如果两者都被按下......好吧,由您决定在这种情况下该怎么做)。

您还可以决定对当前键盘状态进行采样的频率,以及用户按住键时的反应速度。如果您尽可能快地对其进行采样,那么很有可能汽车的反应太快而无法很好地控制它。


推荐阅读