diff --git a/assets/tiles/earth.png b/assets/tiles/earth.png new file mode 100644 index 0000000..9255b38 Binary files /dev/null and b/assets/tiles/earth.png differ diff --git a/assets/tiles/grass.png b/assets/tiles/grass.png new file mode 100644 index 0000000..8a1892f Binary files /dev/null and b/assets/tiles/grass.png differ diff --git a/assets/tiles/sand.png b/assets/tiles/sand.png new file mode 100644 index 0000000..10971d4 Binary files /dev/null and b/assets/tiles/sand.png differ diff --git a/assets/tiles/tree.png b/assets/tiles/tree.png new file mode 100644 index 0000000..b0d91ba Binary files /dev/null and b/assets/tiles/tree.png differ diff --git a/assets/tiles/wall.png b/assets/tiles/wall.png new file mode 100644 index 0000000..d5f04bf Binary files /dev/null and b/assets/tiles/wall.png differ diff --git a/assets/tiles/water.png b/assets/tiles/water.png new file mode 100644 index 0000000..7f48fd6 Binary files /dev/null and b/assets/tiles/water.png differ diff --git a/src/de/miaurizius/jgame2d/core/GamePanel.java b/src/de/miaurizius/jgame2d/core/GamePanel.java index fd972a0..dc3a506 100644 --- a/src/de/miaurizius/jgame2d/core/GamePanel.java +++ b/src/de/miaurizius/jgame2d/core/GamePanel.java @@ -1,6 +1,7 @@ package de.miaurizius.jgame2d.core; import de.miaurizius.jgame2d.entity.Player; +import de.miaurizius.jgame2d.tile.TileManager; import javax.swing.*; import java.awt.*; @@ -21,15 +22,11 @@ public class GamePanel extends JPanel implements Runnable { //FPS int FPS = 60; + TileManager tileM = new TileManager(this); KeyHandler keyH = new KeyHandler(); Thread gameThread; Player player = new Player(this, keyH); - //Default position - int playerX = 100; - int playerY = 100; - int playerSpeed = 4; - public GamePanel() { this.setPreferredSize(new Dimension(screenWidth, screenHeight)); this.setBackground(Color.black); @@ -79,6 +76,9 @@ public class GamePanel extends JPanel implements Runnable { public void paintComponent(Graphics graphics) { super.paintComponent(graphics); Graphics2D graphics2d = (Graphics2D) graphics; + + //Draw all components + tileM.draw(graphics2d); player.draw(graphics2d); graphics.dispose(); } diff --git a/src/de/miaurizius/jgame2d/tile/Tile.java b/src/de/miaurizius/jgame2d/tile/Tile.java new file mode 100644 index 0000000..937a9b7 --- /dev/null +++ b/src/de/miaurizius/jgame2d/tile/Tile.java @@ -0,0 +1,10 @@ +package de.miaurizius.jgame2d.tile; + +import java.awt.image.BufferedImage; + +public class Tile { + + public BufferedImage image; + public boolean collision = false; + +} diff --git a/src/de/miaurizius/jgame2d/tile/TileManager.java b/src/de/miaurizius/jgame2d/tile/TileManager.java new file mode 100644 index 0000000..9da4ab7 --- /dev/null +++ b/src/de/miaurizius/jgame2d/tile/TileManager.java @@ -0,0 +1,43 @@ +package de.miaurizius.jgame2d.tile; + +import de.miaurizius.jgame2d.core.GamePanel; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.io.FileInputStream; +import java.io.IOException; + +public class TileManager { + + GamePanel panel; + Tile[] tile; + + public TileManager(GamePanel panel) { + this.panel = panel; + tile = new Tile[10]; + getTileImage(); + } + + public void getTileImage() { + try { + tile[0] = new Tile(); + tile[0].image = ImageIO.read(new FileInputStream("assets/tiles/grass.png")); + + tile[1] = new Tile(); + tile[1].image = ImageIO.read(new FileInputStream("assets/tiles/wall.png")); + + tile[2] = new Tile(); + tile[2].image = ImageIO.read(new FileInputStream("assets/tiles/grass.png")); + + tile[3] = new Tile(); + tile[3].image = ImageIO.read(new FileInputStream("assets/tiles/water.png")); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public void draw(Graphics2D graphics2D) { + graphics2D.drawImage(tile[0].image, 0, 0, panel.tileSize, panel.tileSize, null); + } + +}