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);

線の最初の点に単純な座標を使用していることを示していますが、線の 2 番目の点はマウス座標で使用されています。マウスを動かすと、カーソルに追従する 1 つのリングではなく、消えない多くの行が作成されます。すでに塗られた線を取り除く方法はありますか?

前もって感謝します。とても有難い。

4

0 に答える 0