我在 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);
它表明我对直线的第一个点使用了一个简单的坐标,但是我的鼠标坐标正在使用直线的第二个点。当我四处移动鼠标时,它不是一个跟随光标的单行,而是创建了许多不会消失的行。有什么办法可以去掉已经画好的线条?
提前致谢。非常感激。