From 2605771ec8d257dd3c4997bb94f15477501e432b Mon Sep 17 00:00:00 2001 From: Azurlors <florianrichard2001@gmail.com> Date: Tue, 29 Nov 2022 11:12:39 +0100 Subject: [PATCH] =?UTF-8?q?d=C3=A9but=20textures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/environnement/HitBox.java | 19 ++++++++++++ MAVENProject/src/main/java/jeu/Painter.java | 17 ++++++++++- .../src/main/java/loaders/ObstacleLoader.java | 29 +++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 MAVENProject/src/main/java/loaders/ObstacleLoader.java diff --git a/MAVENProject/src/main/java/environnement/HitBox.java b/MAVENProject/src/main/java/environnement/HitBox.java index 82c4257..74aa6ca 100644 --- a/MAVENProject/src/main/java/environnement/HitBox.java +++ b/MAVENProject/src/main/java/environnement/HitBox.java @@ -7,12 +7,28 @@ public class HitBox { //private final Coordonnees centre; private HashMap<String, Coordonnees> extremites = new HashMap<>(); private static double defaultUnit = 10; + private double width; + private double height; + private Coordonnees centre; + + public double getWidth() { + return width; + } + + public double getHeight() { + return height; + } + + public Coordonnees getCentre() { + return centre; + } public HitBox(Coordonnees c){ extremites.put("HautDroite",new Coordonnees(c.getX()+defaultUnit/2,c.getZ()-defaultUnit/2)); extremites.put("BasDroite",new Coordonnees(c.getX()+defaultUnit/2,c.getZ()+defaultUnit/2)); extremites.put("HautGauche",new Coordonnees(c.getX()-defaultUnit/2,c.getZ()-defaultUnit/2)); extremites.put("BasGauche",new Coordonnees(c.getX()-defaultUnit/2,c.getZ()+defaultUnit/2)); + centre = c; } public HitBox(Coordonnees c , double Height , double Width){ @@ -20,6 +36,9 @@ public class HitBox { extremites.put("BasDroite",new Coordonnees(c.getX()+Width/2,c.getZ()+Height/2)); extremites.put("HautGauche",new Coordonnees(c.getX()-Width/2,c.getZ()-Height/2)); extremites.put("BasGauche",new Coordonnees(c.getX()-Width/2,c.getZ()+Height/2)); + width = Width; + height = Height; + centre = c; } public static int getDefaultUnit() { diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java index c9db59e..5040ce7 100644 --- a/MAVENProject/src/main/java/jeu/Painter.java +++ b/MAVENProject/src/main/java/jeu/Painter.java @@ -3,6 +3,7 @@ package jeu; import engine.GamePainter; import environnement.Coordonnees; import environnement.HitBox; +import loaders.ObstacleLoader; import map.Obstacle; import java.awt.*; @@ -40,6 +41,7 @@ public class Painter implements GamePainter{ //drawQuadrillage(crayon);*/ drawMap(crayon); drawSol(crayon); + drawObstacleBis(crayon,test,"plateforme.png"); } @@ -75,7 +77,13 @@ public class Painter implements GamePainter{ } private void drawSol(Graphics2D crayon){ - crayon.drawLine(0,(int) Jeu.getSol().getHitbox().getExtremites().get("HautDroite").getZ(),WIDTH,(int) Jeu.getSol().getHitbox().getExtremites().get("HautDroite").getZ()); + ObstacleLoader loader = new ObstacleLoader(Jeu.getSol(),"Terre.png"); + HitBox hitBox = loader.getObstacle().getHitbox(); + int z = (int) hitBox.getCentre().getZ(); + System.out.println(z); + for (int x = 0;x<3000;x+=128) { + crayon.drawImage(loader.getImageObstacle(),x,z ,null,null); + } } private void drawMap(Graphics2D crayon){ @@ -89,4 +97,11 @@ public class Painter implements GamePainter{ drawObstacle(crayon,obs); } } + private void drawObstacleBis(Graphics2D crayon, Obstacle obstacle, String nom){ + ObstacleLoader loader = new ObstacleLoader(obstacle,nom); + HitBox hitBox = loader.getObstacle().getHitbox(); + int z = (int) hitBox.getCentre().getZ(); + int x = (int) hitBox.getCentre().getX(); + crayon.drawImage(loader.getImageObstacle(), x - (int) hitBox.getWidth()/2,z - (int) hitBox.getHeight()/2,null,null); + } } diff --git a/MAVENProject/src/main/java/loaders/ObstacleLoader.java b/MAVENProject/src/main/java/loaders/ObstacleLoader.java new file mode 100644 index 0000000..f8cbba0 --- /dev/null +++ b/MAVENProject/src/main/java/loaders/ObstacleLoader.java @@ -0,0 +1,29 @@ +package loaders; +import map.Obstacle; + +import javax.swing.*; +import java.awt.*; +import java.net.URL; + +public class ObstacleLoader { + + private Image imageObstacle; + private Obstacle obstacle; + + public Image getImageObstacle() { + return imageObstacle; + } + + public Obstacle getObstacle() { + return obstacle; + } + + public ObstacleLoader(Obstacle obs, String nom){ + String fn = "Obstacles/"; + URL url = ObstacleLoader.class.getClassLoader().getResource(fn); + assert url != null; + String path = url.toString().substring(6)+"/"+nom; + obstacle = obs; + imageObstacle = new ImageIcon(path).getImage(); + } +} -- GitLab