diff --git a/docs/坦克大战笔记.docx b/docs/坦克大战笔记.docx index 6db9858..0d77952 100644 Binary files a/docs/坦克大战笔记.docx and b/docs/坦克大战笔记.docx differ diff --git a/src/com/demo/tank/coruse2/Tank.java b/src/com/demo/tank/coruse2/Tank.java index 1631cd9..7f6ee56 100644 --- a/src/com/demo/tank/coruse2/Tank.java +++ b/src/com/demo/tank/coruse2/Tank.java @@ -15,7 +15,10 @@ public class Tank { } public void paint(Graphics g) { + Color color = g.getColor(); + g.setColor(Color.YELLOW); g.fillRect(x, y,50,50); + g.setColor(color); move(); } diff --git a/src/com/demo/tank/coruse2/TankFrame.java b/src/com/demo/tank/coruse2/TankFrame.java index 119d6d5..5220bc8 100644 --- a/src/com/demo/tank/coruse2/TankFrame.java +++ b/src/com/demo/tank/coruse2/TankFrame.java @@ -7,12 +7,16 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class TankFrame extends Frame { + private static final int GAME_WIDTH = 800; + private static final int GAME_HEIGHT = 600; + Image image = null; + Tank tank = new Tank(500, 500, Direction.UP); Bullet bullet = new Bullet(520, 440, Direction.UP); public TankFrame(){ setVisible(true); - setSize(800, 600); + setSize(GAME_WIDTH, GAME_HEIGHT); setResizable(false); setTitle("tank war"); this.addKeyListener(new MyKeyListener()); @@ -24,6 +28,20 @@ public class TankFrame extends Frame { }); } + @Override + public void update(Graphics g) { + if(image == null){ + image = this.createImage(GAME_WIDTH, GAME_HEIGHT); + } + Graphics imgGraphic = image.getGraphics(); + Color color = g.getColor(); + imgGraphic.setColor(Color.WHITE); + imgGraphic.fillRect(0,0, GAME_WIDTH, GAME_HEIGHT); + imgGraphic.setColor(color); + paint(imgGraphic); + g.drawImage(image, 0, 0, null); + } + @Override public void paint(Graphics g){ tank.paint(g);