键盘操作
一、GetAsyncKeyState
GetAsyncKeyState()可以异步获取按键输入,GetAsyncKeyState(某个键的虚拟键码) 可以得到这个键的状态,然后判断返回值最高位是不是1,如果是1表示该键处于按下状态。
异步输入函数GetAsyncKeyState(),其可以同时识别两个按键被按下的情况
例子:
if (_kbhit()) // 当按键时 { if (GetAsyncKeyState(VK_LEFT) || GetAsyncKeyState('A')) // 按下A键或左方向键 { player.x_left -= player.vx; // 向左移动 } if (GetAsyncKeyState(VK_RIGHT) || GetAsyncKeyState('D')) // 按下D键或右方向键 { player.x_left += player.vx; // 向右移动 } if (GetAsyncKeyState(VK_UP) || GetAsyncKeyState('W')) // 按下W键或上方向键 { player.y_bottom -= player.vy; // 向上移动 } if (GetAsyncKeyState(VK_DOWN) || GetAsyncKeyState('S')) // 按下S键或下方向键 { player.y_bottom += player.vy; // 向下移动 } }
以上