1
我LWJGL近来开始,我做了展示和简单的线条,但此行持续闪烁和关闭我知道,可能是从的Java LWJGL显示持续闪烁
while(!Display.isCloseRequested()){
Display.update();
}
一部分,这样不断刷新但是如果我在删除这部分并在创建该行后添加了一个Display.update();
,则该窗口打开一秒钟并关闭。这里是整个代码:
package gaming;
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
public class game {
public static void setGL(){
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, Display.getWidth(), 0, Display.getHeight(), -1, 1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
}
public game(int w, int h){
try {
Display.setDisplayMode(new DisplayMode(800, 600));
Display.create();
setGL();
GL11.glColor3d(0.25, 0.75, 0.50);
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
GL11.glBegin(GL11.GL_LINES);
GL11.glVertex2i(100, 100);
GL11.glVertex2i(200, 200);
Display.update();
GL11.glEnd();
while(!Display.isCloseRequested()){
Display.update();
}
while(Display.isCloseRequested()){
Display.destroy();
}
} catch (LWJGLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
new game(800, 600);
}
}
笑的是工作,但有什么区别在我和这之间做了什么。 – user3314952
在你的代码中没有构造函数和计时器没有从静态主方法运行 –
是的,我意识到这一点,但为什么我必须添加一个构造函数,并且可以添加常规方法? – user3314952