Я уже установил GLFW
библиотека и в соответствии с ее руководством пользователя, я должен использовать glfwInit()
функция для его инициализации. После этого у меня должна быть возможность, например, вызвать функцию обратного вызова после нажатия клавиши на клавиатуре, но эта функция не была вызвана, поэтому я попробовал что-то более простое — получить положение мыши. Но это также не работает, поэтому я предполагаю, что что-то не так со всем моим GLFW.
Это основной цикл для моего приложения:
while (!m_exit)
{
int x, y;
glfwGetMousePos(&x, &y);
glfwPollEvents();
gameCycle(); // Do one cycle
while (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
{
// Check the pressence of commands
if (!GetMessage (&msg, NULL, 0, 0))
{
return msg.wParam; // Hand the control on to system
}
TranslateMessage (&msg);
DispatchMessage (&msg);
}
}
Также перед этим циклом я инициализирую GLFW
:
// Initialize GLFW
if( !glfwInit() )
{
exit( EXIT_FAILURE );
}
glfwSetKeyCallback(processKeys);
// Main message loop:
int loopRet = g_pGameAppLayer->mainLoop();
Когда я проверяю значения, которые сохраняются в x
а также y
переменных, я получаю только -858993460, который указывает, что им не передается значение.
Так чего мне не хватает в настройке GLFW
вверх?
Ваша проблема здесь:
После этого я смогу, например, вызвать функцию обратного вызова после нажатия клавиши на клавиатуре.
Нет, ты не должен Пока вы не создали окно с GLFW вы не можете получить ввод. Как правило, это верно для многих оконных систем; вы получите вход, только если у вас есть окно.
Других решений пока нет …