0

我在 Eclipse 中使用 LWJGL,并且我制作了以下代码:

public class test {
    public test() {
        int wx = 600;
        int hy = 450;

        try {
            Display.setDisplayMode(new DisplayMode(wx, hy));
            Display.create();
            Display.setTitle("Hello World!");
        } catch (LWJGLException e) {
            e.printStackTrace();
        }

        // init openGL
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        glOrtho(0, wx, hy, 0, 1, -1);
        glMatrixMode(GL_MODELVIEW);

        while (!Display.isCloseRequested()) {
            // render openGL
            int mouseX = Mouse.getX();
            int mouseY = Mouse.getY();

            while (Mouse.next()) {
                if (Mouse.isButtonDown(0)) {
                    System.out.println("(" + mouseX + ", " + mouseY + ")");
                }
            }

            while (Keyboard.next()) {
                if (Keyboard.getEventKey() == Keyboard.KEY_ESCAPE) {
                    Display.destroy();
                    System.exit(0);
                }
            }

            glBegin(GL_LINES);
            glVertex2i(100, 100);
            glVertex2i(mouseX, hy - mouseY - 1);
            glEnd();
            Display.update();
            Display.sync(250);
        }
    }

    public static void main(String[] args) {
        new test();
    }
}

看着这个:

glBegin(GL_LINES);
glVertex2i(100, 100);
glVertex2i(mouseX, hy - mouseY - 1);
glEnd();
Display.update();
Display.sync(250);

它表明我对直线的第一个点使用了一个简单的坐标,但是我的鼠标坐标正在使用直线的第二个点。当我四处移动鼠标时,它不是一个跟随光标的单行,而是创建了许多不会消失的行。有什么办法可以去掉已经画好的线条?

提前致谢。非常感激。

4

0 回答 0