From 2681de72e496a8c1f0fc312c426aac3439579c75 Mon Sep 17 00:00:00 2001 From: zhanxinlin <2452913979@qq.com> Date: Thu, 29 Sep 2022 00:04:13 +0800 Subject: [PATCH] =?UTF-8?q?day3=EF=BC=8C=E5=AE=9E=E7=8E=B0=E5=AD=90?= =?UTF-8?q?=E5=BC=B9=E6=8D=A2=E6=88=90=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tankWar/src/com/mashibing/tank/Bullet.java | 23 +++++++++++++++---- .../com/mashibing/tank/ResourceImageRead.java | 11 +++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/tankWar/src/com/mashibing/tank/Bullet.java b/tankWar/src/com/mashibing/tank/Bullet.java index a0f8f5a..224a0ff 100644 --- a/tankWar/src/com/mashibing/tank/Bullet.java +++ b/tankWar/src/com/mashibing/tank/Bullet.java @@ -31,15 +31,28 @@ public class Bullet { frameTank.bulletList.remove(this); } - Color color = g.getColor(); - g.setColor(Color.RED); - g.fillOval(x, y, WIDTH, HEIGHT); - g.setColor(color); + // 画出坦克前后左右移动的图片 + switch (direction) { + case LEFT: + g.drawImage(ResourceImageRead.BULLET_LEFT, x, y, null); + break; + case UP: + g.drawImage(ResourceImageRead.BULLET_UP, x, y, null); + break; + case RIGHT: + g.drawImage(ResourceImageRead.BULLET_RIGHT, x, y, null); + break; + case DOWN: + g.drawImage(ResourceImageRead.BULLET_DOWN, x, y, null); + break; + } + + // 子弹移动 move(); } private void move() { - // 定义坦克的移动特征 + // 定义子弹的移动特征 switch (direction) { case LEFT: x -= SPEED; diff --git a/tankWar/src/com/mashibing/tank/ResourceImageRead.java b/tankWar/src/com/mashibing/tank/ResourceImageRead.java index c80ee01..670529f 100644 --- a/tankWar/src/com/mashibing/tank/ResourceImageRead.java +++ b/tankWar/src/com/mashibing/tank/ResourceImageRead.java @@ -14,14 +14,25 @@ public class ResourceImageRead { public static BufferedImage TANK_UP; public static BufferedImage TANK_RIGHT; public static BufferedImage TANK_DOWN; + public static BufferedImage BULLET_LEFT; + public static BufferedImage BULLET_UP; + public static BufferedImage BULLET_RIGHT; + public static BufferedImage BULLET_DOWN; // 当ResourceImageRead类加载时,静态代码块执行,直接初始化 static { try { + // 赋值坦克图片 TANK_LEFT = ImageIO.read(ResourceImageRead.class.getClassLoader().getResourceAsStream("images/tankL.gif")); TANK_UP = ImageIO.read(ResourceImageRead.class.getClassLoader().getResourceAsStream("images/tankU.gif")); TANK_RIGHT = ImageIO.read(ResourceImageRead.class.getClassLoader().getResourceAsStream("images/tankR.gif")); TANK_DOWN = ImageIO.read(ResourceImageRead.class.getClassLoader().getResourceAsStream("images/tankD.gif")); + + // 赋值子弹图片 + BULLET_LEFT = ImageIO.read(ResourceImageRead.class.getClassLoader().getResourceAsStream("images/bulletL.gif")); + BULLET_UP = ImageIO.read(ResourceImageRead.class.getClassLoader().getResourceAsStream("images/bulletU.gif")); + BULLET_RIGHT = ImageIO.read(ResourceImageRead.class.getClassLoader().getResourceAsStream("images/bulletR.gif")); + BULLET_DOWN = ImageIO.read(ResourceImageRead.class.getClassLoader().getResourceAsStream("images/bulletD.gif")); } catch (IOException e) { e.printStackTrace(); }