Java 键盘事件之移动修改。

img

package com.sxt;

import java.awt.*;
import java.awt.event.KeyEvent;

public class PlayerOne extends Tank {

public PlayerOne(String img, int x, int y, GamePanel gamePanel, String upImg, String leftImg, String rightImg, String downImg) {
    super(img, x, y, gamePanel, upImg, leftImg, rightImg, downImg);
}

public  void keyPressed(KeyEvent e) {
    int key = e.getKeyCode();
    switch(key){
        case KeyEvent.VK_A:
             left = true;
            break;
        case KeyEvent.VK_S:
            downward();
            break;
        case KeyEvent.VK_D:
            rightward();
            break;
        case KeyEvent.VK_W:
            upward();
            break;
        case KeyEvent.VK_SPACE:
            attack();
            break;
            default:
                break;
            
    }
}
public void KeyReleased(KeyEvent e) {
    int key = e.getKeyCode();
    switch(key) {
    case KeyEvent.VK_A:
        left = false;
        break;
    case KeyEvent.VK_S:
        down = false;
        break;
    case KeyEvent.VK_D:
        right = false;
        break;
    case KeyEvent.VK_W:
        up = false;
        break;
    default:
        break;
    }
}             
            


@Override
public void paintSelt(Graphics g) {
    g.drawImage(img,x,y,null);
}

@Override
public Rectangle getRec() {
    return new Rectangle(x,y,width,height);
}

}

left 按下激活成true,松开时成为flase,但是我这个怎么弄都不能成立,一直报错。
leftward()这种的话感觉不够流畅,走路卡顿卡顿的。

left没定义,需要在方法外面定义
private boolean left;

报错了,看下提示信息