From 04ef5320af4f47167440c9e3d9ba24b463b877ad Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 15 Mar 2014 16:30:54 +0200 Subject: [PATCH] Add GameCanvas --- src/com/annimon/turrets/GameCanvas.java | 39 +++++++++++++++++++++++++ src/com/annimon/turrets/MenuPanel.java | 1 + 2 files changed, 40 insertions(+) create mode 100644 src/com/annimon/turrets/GameCanvas.java diff --git a/src/com/annimon/turrets/GameCanvas.java b/src/com/annimon/turrets/GameCanvas.java new file mode 100644 index 0000000..faab737 --- /dev/null +++ b/src/com/annimon/turrets/GameCanvas.java @@ -0,0 +1,39 @@ +package com.annimon.turrets; + +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; + +/** + * + * @author aNNiMON + */ +public class GameCanvas extends DoubleBufferedCanvas { + + private final BufferedImage background; + private final Terrain terrain; + + public GameCanvas() { + background = new BufferedImage(Constants.WIDTH, Constants.HEIGHT, BufferedImage.TYPE_INT_RGB); + initBackground(); + + terrain = new Terrain(Constants.WIDTH); + terrain.generate(System.currentTimeMillis()); + } + + @Override + protected void draw(Graphics2D g) { + g.drawImage(background, 0, 0, null); + terrain.draw(g); + } + + @Override + protected void update() { + } + + private void initBackground() { + final Graphics g = background.createGraphics(); + new Background().draw(g); + g.dispose(); + } +} diff --git a/src/com/annimon/turrets/MenuPanel.java b/src/com/annimon/turrets/MenuPanel.java index 1b2f467..3016a68 100644 --- a/src/com/annimon/turrets/MenuPanel.java +++ b/src/com/annimon/turrets/MenuPanel.java @@ -72,6 +72,7 @@ public class MenuPanel extends JPanel { case 0: GameCanvas canvas = new GameCanvas(); Main.getInstance().switchLayout(canvas); + canvas.start(); break; case 4: System.exit(0);