Keyboard 如何在Eclipse RCP/LWJGL应用程序中访问键盘?
我正在研究NeHe OpenGL示例,在Eclipse RCP应用程序中使用LWJGL进行OpenGL绑定 我的OpenGL图形显示在RCP画布中,而不是单独的窗口中 第07课演示如何使用键盘。如果我尝试执行以下操作:Keyboard 如何在Eclipse RCP/LWJGL应用程序中访问键盘?,keyboard,eclipse-rcp,lwjgl,Keyboard,Eclipse Rcp,Lwjgl,我正在研究NeHe OpenGL示例,在Eclipse RCP应用程序中使用LWJGL进行OpenGL绑定 我的OpenGL图形显示在RCP画布中,而不是单独的窗口中 第07课演示如何使用键盘。如果我尝试执行以下操作: Keyboard.create(); 我得到一个错误,即(OpenGL)“显示”尚未创建 如果我用org.lwjgl.OpenGL.Display.create()创建一个OpenGL“Display”,那么我会得到一个新窗口 那么,如何在不创建新窗口的情况下访问键盘呢?由于L
Keyboard.create();
我得到一个错误,即(OpenGL)“显示”尚未创建
如果我用org.lwjgl.OpenGL.Display.create()创建一个OpenGL“Display”,那么我会得到一个新窗口
那么,如何在不创建新窗口的情况下访问键盘呢?由于LWJGL在幕后的工作方式,您不能在没有显示器的情况下使用键盘。最好的方法是只使用AWT事件。您可以编写自己的输入类,可以这样做
public class Input implements KeyListener {
private boolean aDown; //is the A key down?
//Ect, for all needed keys
public void keyPressed(KeyEvent ke) {
switch (ke.getKeyCode()) {
case KeyEvent.VK_A: aDown = true; break;
//and so on for all other needed keys.
}
}
public void keyReleased(KeyEvent ke) {
switch (ke.getKeyCode()) {
case KeyEvent.VK_A: aDown = false; break;
//and so on for all other needed keys.
}
}
public void keyTyped(KeyEvent ke) {} //Do nothing
public void isADown() {return aDown;}
}
好吧,如果有人关心的话,它是这样的:“glcanvas=newglcanvas(…);glcanvas.addKeyListener(newKeyListener(){…})”;“我就是这么做的,正如我在评论中已经说过的。不过还是谢谢你。