Не удается заставить GLFW работать, даже если glfwInit () возвращает 1

Я уже установил 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 вверх?

0

Решение

Ваша проблема здесь:

После этого я смогу, например, вызвать функцию обратного вызова после нажатия клавиши на клавиатуре.

Нет, ты не должен Пока вы не создали окно с GLFW вы не можете получить ввод. Как правило, это верно для многих оконных систем; вы получите вход, только если у вас есть окно.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]