【发布时间】:2020-05-11 14:43:50
【问题描述】:
我正在使用 c++ 中的 getasynckeystate 函数编写一个简单的俄罗斯方块程序。我想在 while 循环中控制我的输入速度,以使块不会快速移动。这是我的简单伪代码。
while(1)
{
if(GetAsyncKeyState(0x41) & 0x8000) //when key input is 'a'
{
move tetrimino to the left;
}
Sleep(100);
}
但是,如果我使用睡眠功能来控制输入速度,由于睡眠功能的特性,它在执行睡眠功能时会忽略输入。我想要的是控制我的输入速度(不要移动得太快),同时不要忽略每个输入案例。除此之外,块应该在按下键的同时连续移动。我知道我不应该使用 sleep 函数来实现这个目标,但我无法弄清楚如何仅使用 getasynckeystate 函数来实现这一目标。我该如何实现?
【问题讨论】:
标签: input keyboard sleep tetris