我想用箭头键制作一个正方形的游戏,但我无法声明它 见moveIt
public void moveIt(/*Won't work here, since its started on run method*/) {
KeyEvent evt=/*???*/; //how do i declare this keyevent?
switch (evt.getKeyCode()) {
case KeyEvent.VK_DOWN:
myY += 5;
break;
case KeyEvent.VK_UP:
myY -= 5;
break;
case KeyEvent.VK_LEFT:
myX -= 5;
break;
case KeyEvent.VK_RIGHT:
myX += 5;
break;
}
}
myX
和myY
是要在其他方法中使用的矩形的坐标。
顺便说一下,我是java的新手。它是我的第一个编程语言。
答案 0 :(得分:0)
简短的回答是,不声明KeyEvent
。用户按键生成KeyEvent
。然后由KeyListener
选择该事件,您可以在其中放置逻辑来处理关键事件。
public class MyClass extends JPanel implements KeyListener
{
// Add your intialization code here
@Override
public void keyTyped(KeyEvent e)
{
switch (evt.getKeyCode())
{
case KeyEvent.VK_DOWN:
myY += 5;
break;
case KeyEvent.VK_UP:
myY -= 5;
break;
case KeyEvent.VK_LEFT:
myX -= 5;
break;
case KeyEvent.VK_RIGHT:
myX += 5;
break;
}
}
}
看看this tutorial。你错过了一个技巧,而回顾基础知识可能会让你重新走上正轨。