Получить последнюю нажатую клавишу клавиатуры

Я пытаюсь получить последнюю нажатую клавишу клавиатуры, но так как я работаю в игре, код будет запускаться каждый тик.
Я попытался getchar (), но это приводит к сбою / заморозке, как я могу добиться этого?

Это будет использоваться только на Windows 7/8/10

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;

}

}
}

в то время как реж

enum Direction {STOP = 0, ВЛЕВО, ВПРАВО, ВВЕРХ, ВНИЗ};

0

Другие решения

В итоге я перехватил функцию OnKeyboardMessage из dinput8.dll, чтобы получить последнюю нажатую клавишу, которая сработала.

0

По вопросам рекламы [email protected]