我制作了一个简单的Nibbles(Snakes)游戏,一切都很完美。
然而,当我将所有内容复制到我的mac(在PC上开发)并编译相同的java文件时,用于移动我的蛇的keyAdapter事件监听器并没有响应。
我不确定出了什么问题。
这里是片段,但如果有人愿意看一下整个节目,我可以私下发送。谢谢!
getThis().addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.VK_UP)
if(!glass.game.getDirection().equals("D"))
glass.game.setDirection("U");
if(event.getKeyCode() == KeyEvent.VK_DOWN)
if(!glass.game.getDirection().equals("U"))
glass.game.setDirection("D");
if(event.getKeyCode() == KeyEvent.VK_LEFT)
if(!glass.game.getDirection().equals("R"))
glass.game.setDirection("L");
if(event.getKeyCode() == KeyEvent.VK_RIGHT)
if(!glass.game.getDirection().equals("L"))
glass.game.setDirection("R");
}
});
答案 0 :(得分:6)
使用KeyBindings
代替KeyListener
,KeyListener
未指定用于在Swing JComponents中监听KeyEvents
,这是AWT组件的监听器,例如here