diff --git a/src/afficheur/Afficheur.java b/src/afficheur/Afficheur.java index ed802a024c375776f75331e3963c0e18076ef22c..f95e5b193db28e7d2d5854b517a514fc110fdbf0 100644 --- a/src/afficheur/Afficheur.java +++ b/src/afficheur/Afficheur.java @@ -29,7 +29,9 @@ public class Afficheur extends JPanel { Monde m; //l'afficheur de Decor - public DecorFixe decor=new DecorFixe(); + //public DecorFixe decor=new DecorFixe(); + public DecorVariable decor=new DecorVariable(); + //double buffering BufferStrategy bs; @@ -75,7 +77,8 @@ public class Afficheur extends JPanel { g.setColor(Color.black); //affiche le décor - decor.affiche( g); + //decor.affiche( g); + decor.affiche((int)m.balle.px, g); // affiche les objets for (Objet obj : m.objets) { diff --git a/src/afficheur/DecorVariable.java b/src/afficheur/DecorVariable.java new file mode 100644 index 0000000000000000000000000000000000000000..323044229e343bc54f8d182ed177f6cb2634f0c0 --- /dev/null +++ b/src/afficheur/DecorVariable.java @@ -0,0 +1,64 @@ +package afficheur; + +import java.awt.Graphics; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.util.HashMap; + +import javax.imageio.ImageIO; + + +//distributeur de sprites +public class DecorVariable { + + //IMage + BufferedImage im; + + //taille + int wx,wy; + + //construit le sprite + public DecorVariable() + { + try { + im=ImageIO.read(new File("background.jpg")); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + System.out.println("erreur lecture background"); + } + wx=im.getWidth(); + wy=im.getHeight(); + } + + public void changeImage(String image) + { + try { + im=ImageIO.read(new File(image)); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + System.out.println("erreur lecture background"); + } + wx=im.getWidth(); + wy=im.getHeight(); + } + + //afficheur de decor + //declae en x seulement + public void affiche(int x,Graphics g) + { + //on se ramene au repere du plan + x=(x%wx); + + //on affiche sur l'ecran 0 ==> wx-x image source de x � wx + g.drawImage(im, 0 ,0 , wx-x, wy, x, 0, wx, wy,null); + + //on affiche sur l'ecran wx-x ==> wx image source de 0 � x + g.drawImage(im, wx-x ,0 , wx, wy, 0, 0, x, wy,null); + + } + + +}