我在下面有代码,如果我使用 glfwGetKey() 似乎可以工作,但它不会退出循环,甚至似乎也不会调用输入函数。我尝试传递 *input 而不是 input,但没有骰子。这可能是什么原因造成的?
#include <display.h>
#include <GL/glfw.h>
#include <stdlib.h>
#include <stdio.h>
bool running;
void GLFWCALL input( int key, int action )
{
//if(key == GLFW_KEY_ESC ){
running = false;
//}
printf("%d",key);
}
int main(int argc, char* argv[])
{
running = true;
if(argc==3){
int width = atoi(argv[1]);
int height = atoi(argv[2]);
Display d(width,height);
glfwSetKeyCallback( *input );
d.open();
while(running){
glfwPollEvents();
printf("Running");
}
printf("\n %d,%d %d\n", width,height,GLFW_KEY_ESC);
d.close();
return 1;
}
else {
printf("Usage: GLFW_play width height");
return 0;
}
}