我使用LWJGL,当我使用glfwCreateWindow时,它卡住了我的代码



我是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,并且它工作。

最新更新