我正在学习关于lwjgl基础知识的教程。我目前正在尝试制作一个简单的窗口。但是我有两个问题。
在我的init()方法中,我写了
if(glfwInit() != GL_TRUE){
throw new IllegalStateException("Unable to initialize GLFW");
}
在我的run()方法中我写
if(glfwWindowShouldClose(window) == GL_TRUE){
running = false;
}
在这两种情况下我都
Exception in thread "EndlessRunner" java.lang.Error: Unresolved compilation problem:
The operator != is undefined for the argument type(s) boolean, int
at Main.init(Main.java:28)
at Main.run(Main.java:43)
at java.lang.Thread.run(Unknown Source)
然而,似乎所有教程都以这种或那种方式使用这些行。
答案 0 :(得分:1)
这些方法的Java声明与C声明并不完全相同,因此您需要调整代码以匹配Java声明。
在这两种情况下,这些方法都会返回boolean
:
public static boolean glfwInit()
public static boolean glfwWindowShouldClose(long window)
所以你使用true
和false
而不是GL_TRUE
和GL_FALSE
来使用它们:
if (glfwInit() != true) {
if (glfwWindowShouldClose(window) == true) {
注意:如果Eclipse显示代码中存在错误,您将无法成功运行它。