visual-studio - 如何在我开始持有 c++ 后立即开始打印
问题描述
我正在创建一种赛车游戏,我有箭头键来左右移动汽车(向上和向下箭头不起作用)。但是当您按住左/右时,大约需要半秒钟才能开始遍历。
这是进一步的解释:
所以让我们想象这是我的车:
O
OOO
O
OOO
当您按 <- left 或 -> right 时,它会按原样移动(我已将其设置为移动一个空格)。但是当你握住它时,大约需要半秒钟才能开始反复移动。
我如何让它立即移动?
还有一件事,如果可能的话,我不想更改计算机上的个人设置。
感谢您将来的回答。
解决方案
您可能想使用GetKeyState
或GetAsyncKeyState
(但更有可能GetKeyState
)。
任何一个都可以让您读取键的状态,因此您将调用一次以查看是否按下了左箭头键,然后分别查看是否按下了右箭头键(如果两者都被按下......好吧,由您决定在这种情况下该怎么做)。
您还可以决定对当前键盘状态进行采样的频率,以及用户按住键时的反应速度。如果您尽可能快地对其进行采样,那么很有可能汽车的反应太快而无法很好地控制它。
推荐阅读
- python - 在 kivy 弹出窗口中选择文件时出现索引错误
- php - 多参数控制台命令上不存在参数时间
- linux - Cmake 在构建 BornAgain 时给了我一个错误(pthread_create not found)
- node.js - 无法从共享主机连接到 MongoDB
- bash - 第 17 行:警告:命令替换:输入 [BASH] 中忽略的空字节
- linux - Yocto 配方依赖
- scala - scala 2.13 自动隐式解析错误
- python-3.x - 用于语音识别的 Vosk-api python。类似谷歌的语音适应功能?
- python - 关闭前一个顶层窗口后创建顶层 tkinter 窗口
- python - Python 最大线程数