我是LWJGL的新手,不是Java的专业人士,但我想学习如何创建游戏。我用的是Mac。当我运行我的代码时,它在glfwCreateWindow上卡住了,我看了很多教程,但我无法修复它
以下是造成问题的代码:
private void init() {
if(!glfwInit()) {
System.err.println("ERROR: can't initialize GLFW");
}
glfwInit();
glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE);
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
windowID = glfwCreateWindow(800, 600, "Window", 0, 0);
glfwMakeContextCurrent(windowID);
GL.createCapabilities();
glfwShowWindow(windowID);
}
这是我所有的代码:
private static Window instance = null;
private long windowID;
private Window() {}
public static Window get() {
if (instance == null) {
instance = new Window();
}
return instance;
}
public void run() {
init();
loop();
}
private void init() {
if(!glfwInit()) {
System.err.println("ERROR: can't initialize GLFW");
}
glfwInit();
glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE);
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
windowID = glfwCreateWindow(800, 600, "Window", 0, 0);
glfwMakeContextCurrent(windowID);
GL.createCapabilities();
glfwShowWindow(windowID);
}
private void loop() {
while(!glfwWindowShouldClose(windowID)) {
glClearColor(1, 1, 1, 1);
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(windowID);
glfwPollEvents();
}
}
}
我希望有人能帮助我(我也是Stackoverflow的新手)。
我只需要把VM参数中的-XstartOnFirstThread
,并且它工作。