声明一个KeyEvent

时间:2013-11-24 20:06:37

标签: java applet jframe keyevent

我想用箭头键制作一个正方形的游戏,但我无法声明它 见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;
    }



}

myXmyY是要在其他方法中使用的矩形的坐标。

顺便说一下,我是java的新手。它是我的第一个编程语言。

1 个答案:

答案 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。你错过了一个技巧,而回顾基础知识可能会让你重新走上正轨。