我试图获取最后按下的键盘键,但由于我在游戏中工作,代码将在每个刻度线运行。 我尝试了getchar(),但它导致崩溃/冻结,我怎么能实现这个?
这仅适用于Windows 7/8/10
答案 0 :(得分:0)
你可以使用这个功能
#include conio.h
..............
..............
void input()
{
if (_kbhit())
{
switch (_getch())
{
case 'q':
dir = LEFT;
break;
case 'z':
dir = UP;
break;
case 'd':
dir = RIGHT;
break;
case 's':
dir = DOWN;
break;
case 'x':
gameover;
break;
default :
break;
}
}
}
而dir是
枚举方向{STOP = 0,LEFT,RIGHT,UP,DOWN};
答案 1 :(得分:0)
我最终挂了dinput8.dll的OnKeyboardMessage函数来抓取最后按下的按键,这很有效。