Java.坦克大战小游戏【0.6】

任务

代码
为窗口创建按键监听器,使得每次按键坦克重画

//键盘监听器
    private class keyMonitor extends KeyAdapter{

        public void keyPressed(KeyEvent e) {
            //获得按键虚拟码
            int key = e.getKeyCode();
            switch(key) {
            case KeyEvent.VK_RIGHT:
                if(x < GAME_WIDTH-TANK_WIDTH-10)
                    x = x + 5;
                break;
            case KeyEvent.VK_LEFT:
                if(x > TANK_WIDTH)
                    x = x - 5;
                break;
            case KeyEvent.VK_DOWN:
                if(y < GAME_HEIGH-TANK_HEIGH-10)
                y = y + 5;
                break;
            case KeyEvent.VK_UP:
                if(y > TANK_HEIGH+10)
                y = y - 5;
                break;
            }
        }

    }

再把监听器加进 launchJFrame() 方法

//放置监听器
        this.addKeyListener(new keyMonitor());

总结
1.由于键盘监听器只为坦克类服务,以内部类形式写出,监听器继承 KeyAdapter 类,实现 keyPressed() 方法,监听按键信息
2.由 getKeyCode 获得按键虚拟码,和 KeyEvent 中的 VK_上下左右进行比较

猜你喜欢

转载自blog.csdn.net/liyuanyue2017/article/details/80234057