Skip to content
Snippets Groups Projects
Commit b8203725 authored by BRUGNEAUX Louis's avatar BRUGNEAUX Louis
Browse files

Map2

parent 96021926
No related branches found
No related tags found
No related merge requests found
package loaders;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import jeu.Jeu;
public class LoadSave {
public static final String LEVEL_SPRITES = "Obstacles/Map_level_one.png";
public static final String LEVEL_ONE = "Obstacles/level_one2.png";
public static BufferedImage GetSpriteAtlas(String fileName) {
BufferedImage img = null;
InputStream is = LoadSave.class.getResourceAsStream("/" + fileName);
try {
img = ImageIO.read(is);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return img;
}
public static int[][] GetLevelData() {
int[][] lvlData = new int[Jeu.TILES_IN_HEIGHT][Jeu.TILES_IN_WIDTH];
BufferedImage img = GetSpriteAtlas(LEVEL_ONE);
for (int j = 0; j < img.getHeight(); j++)
for (int i = 0; i < img.getWidth(); i++) {
Color color = new Color(img.getRGB(i, j));
int value = color.getRed();
if (value >= 18)
value = 0;
lvlData[j][i] = value;
}
return lvlData;
}
}
package map;
public class Level {
private int[][] lvlData;
public Level(int[][] lvlData) {
this.lvlData = lvlData;
}
public int getSpriteIndex(int x, int y) {
return lvlData[y][x];
}
public int[][] getLevelData() {
return lvlData;
}
}
package map;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import environnement.Coordonnees;
import environnement.HitBox;
import jeu.Jeu;
import loaders.LoadSave;
import jeu.Painter;
public class LevelManager {
private Jeu jeu;
private Painter painter;
private BufferedImage[] levelSprite;
private Level levelOne;
public LevelManager(Painter painter) {
this.painter = painter;
importOutsideSprites();
levelOne = new Level(LoadSave.GetLevelData());
}
private void importOutsideSprites() {
BufferedImage img = LoadSave.GetSpriteAtlas(LoadSave.LEVEL_SPRITES);
levelSprite = new BufferedImage[18];
for (int j = 0; j < 2; j++)
for (int i = 0; i < 9; i++) {
int index = j * 9 + i;
levelSprite[index] = img.getSubimage(i * 32, j * 32, 32, 32);
}
}
public void draw() {
for (int j = 0; j < Jeu.TILES_IN_HEIGHT; j++)
for (int i = 0; i < Jeu.TILES_IN_WIDTH; i++) {
int index = levelOne.getSpriteIndex(i, j);
/*g.drawImage(levelSprite[index], Jeu.TILES_SIZE * i, Jeu.TILES_SIZE * j, Jeu.TILES_SIZE, Jeu.TILES_SIZE, null);*/
if (index<=14) {
Jeu.obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i, Jeu.TILES_SIZE * j), Jeu.TILES_SIZE, Jeu.TILES_SIZE)));
System.out.println(jeu.getObstacleTable().size());
}
}
}
public void update() {
}
public Level getCurrentLevel() {
return levelOne;
}
}
MAVENProject/src/main/resources/Obstacles/Map_level_one.png

24.9 KiB

MAVENProject/src/main/resources/Obstacles/level_one2.png

1.07 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment