我已經設置了GLFW
庫,並根據它的用戶指南,我應該使用glfwInit()
函數來初始化它。之後,我應該可以 - 例如 - 在按下鍵盤上的鍵後調用回調函數,但是這個函數沒有被調用,所以我嘗試了一些更簡單的方法 - 獲取鼠標位置。但它也行不通,所以我認爲我的整個GLFW有些問題。即使glfwInit()返回1也不能獲得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,爲什麼要明確抽取Win32消息? – rioki
@rioki因爲我不知道我不應該這樣做。 –