這裏是我用來檢查2D基本遊戲的用戶輸入的鍵盤迴調方法的定義。不過,我在處理某些同時按鍵時遇到問題。使用GLFW處理輸入
例如,如果我按住右箭頭鍵和上箭頭鍵,播放器會按照它應該向屏幕右上角移動45度。然後,在按住向上和向右鍵的同時按下空間(發射彈丸),這也起作用。但是,如果我按住左箭頭鍵和下箭頭鍵,播放器會按照它的方式移動,但是當我按下空格時,我沒有輸入響應,所以在向下和向左移動時我不能射擊彈丸。所有其他運動+火射彈組合工作,只是向下和左不......我不明白爲什麼。有任何想法嗎?
if (key == GLFW_KEY_LEFT)
{
GameController::getInstance()->getPlayer()->changeKeyPress(GLFW_KEY_LEFT, action);
}
else if (key == GLFW_KEY_RIGHT)
{
GameController::getInstance()->getPlayer()->changeKeyPress(GLFW_KEY_RIGHT, action);
}
else if (key == GLFW_KEY_UP)
{
GameController::getInstance()->getPlayer()->changeKeyPress(GLFW_KEY_UP, action);
}
else if (key == GLFW_KEY_DOWN)
{
GameController::getInstance()->getPlayer()->changeKeyPress(GLFW_KEY_DOWN, action);
}
else if (key == GLFW_KEY_SPACE)
{
GameController::getInstance()->getPlayer()->changeKeyPress(GLFW_KEY_SPACE, action);
}
else { }