Я пытаюсь реализовать некоторые ключевые входы для своего приложения. Например, перемещение камеры. Я использую lwjgl. Так что я попытался это:Ввод клавиатуры OpenGL
if(key == GLFW_KEY_A && action == GLFW_PRESS){
camera.translate(new Vector3f(+0.5f,0,-0.5f));
}
Проблема теперь, что это выполняется только один раз, а это значит, я не могу пошевелить камеру, удерживая эту клавишу.
Так что я пытался что-то вроде этого:
if(key == GLFW_KEY_D && action == GLFW_PRESS){
while(action != GLFW_RELEASE){
a.getView().translate(new Vector3f(-0.5f,0,+0.5f));
}
}
который происходит сбой мое приложение из-за петли бесконечности.
Mabe кто-то может помочь мне с этим.
Кажется, что 'int glfwGetKey (GLFWwindow * window, int key);' тоже может представлять интерес. – JBarberU
это не работает для меня, все еще спасибо за ответ – greedsin
он работает, когда я сохраняю состояние ввода keyborad в булевом массиве, THX для идеи – greedsin