这是一个简单的类,主要作用是判断坦克移动的方向,通过监听实现
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JPanel;
public class BlackBan extends JPanel implements KeyListener {
private Integer x = 50;// 塔克的x坐标
private Integer y = 50;// 坦克的y坐标
private Image tanKeImg = Toolkit.getDefaultToolkit().getImage("images/up.png");// 坦克初始化图片
public BlackBan() {// 无参构造方法
// 调用画笔
repaint();
}
// 需要画笔(alt+shift+s)
@Override
public void paint(Graphics g) {
// super.paint(g):将黑板擦干净
super.paint(g);
// 将颜色改为黑色
this.setBackground(Color.BLACK);
// 开始作画
g.drawImage(tanKeImg, x, y, 100, 100, this);
}
@Override
public void keyPressed(KeyEvent e) {// 当键盘按下时触发
// 首先需要判断当前用户按下的是哪个键
int num = e.getKeyCode();
switch (num) {
case 37:
System.out.println("亲,您按下的是左方向键");
tanKeImg = Toolkit.getDefaultToolkit().getImage("images/left.png");
if (x >= 0)
x = x - 5;
break;
case 38:
System.out.println("亲,您按下的是上方向键");
tanKeImg = Toolkit.getDefaultToolkit().getImage("images/up.png");
if (y >= 0)
y -= 5;
break;
case 39:
System.out.println("亲,您按下的是右方向键");
tanKeImg = Toolkit.getDefaultToolkit().getImage("images/right.png");
if (x <= 490)
x = x + 5;
break;
case 40:
System.out.println("亲,您按下的是下方向键");
tanKeImg = Toolkit.getDefaultToolkit().getImage("images/down.png");
if (y <= 265)
y += 5;
break;
}
repaint();
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {// 当键盘按下并且松开触发
// System.out.println("键盘松开了....");
}
这个类主要用于调整弹框的背景和坦克移动的距离
public class GameWindow {
public static void main(String[] args) {
// 创建一个窗口
JFrame jFrame = new JFrame(“坦克大战v2版”);
// 设置窗口的大小与在屏幕中显示的位置
jFrame.setBounds(300, 200, 600, 400);
// 将窗口大小设置为不可更改状态
jFrame.setResizable(false);
// 设置窗口的背景颜色
Container container = jFrame.getContentPane();// 容器
// container.setBackground(Color.BLACK);
// 将黑板添加到container
BlackBan ban = new BlackBan();
container.add(ban);
// 给窗口添加监听
jFrame.addKeyListener(ban);
// 更改设置窗口的图标
// 将head.png图片封装成Image类型的对象
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image headIcon = toolkit.getImage("images/head.png");
jFrame.setIconImage(headIcon);
// 设置窗口关闭属性
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 最后一步:
jFrame.setVisible(true);
}
}