我决定编写一个控制台 Mario 并遇到了以下问题:如何通过 WinApi 或使用标准 C++ 工具捕获按下键盘上箭头的事件?(视窗)
void Game::input()
{
Key key;
char c;
while (true)
{
cin >> c;
switch (c)
{
case up_key:
movePlayer(player_pos + new Position(0, -3));
break;
case down_key:
movePlayer(player_pos + new Position(0, 1));
break;
case right_key:
movePlayer(player_pos + new Position(1, 0));
break;
case left_key:
movePlayer(player_pos - new Position(1, 0));
break;
}
show();
}
}
那么,在 Windows 控制台中,您可以使用非标准的,但包含在 SDK 中
getch()
需要用到钩子,钩子)