optimized tile scaling
This commit is contained in:
@@ -5,6 +5,7 @@ import de.miaurizius.jgame2d.core.GamePanel;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.*;
|
||||
import java.util.logging.Level;
|
||||
|
||||
@@ -22,33 +23,34 @@ public class TileManager {
|
||||
loadMap("testworld");
|
||||
}
|
||||
|
||||
public void getTileImage() {
|
||||
public void initializeTile(int i, String name, boolean col) {
|
||||
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[1].collision = true;
|
||||
|
||||
tile[2] = new Tile();
|
||||
tile[2].image = ImageIO.read(new FileInputStream("assets/tiles/water.png"));
|
||||
tile[2].collision = true;
|
||||
|
||||
tile[3] = new Tile();
|
||||
tile[3].image = ImageIO.read(new FileInputStream("assets/tiles/earth.png"));
|
||||
|
||||
tile[4] = new Tile();
|
||||
tile[4].image = ImageIO.read(new FileInputStream("assets/tiles/tree.png"));
|
||||
tile[4].collision = true;
|
||||
|
||||
tile[5] = new Tile();
|
||||
tile[5].image = ImageIO.read(new FileInputStream("assets/tiles/sand.png"));
|
||||
} catch (IOException e) {
|
||||
tile[i] = new Tile();
|
||||
tile[i].image = ImageIO.read(new FileInputStream("assets/tiles/" + name + ".png"));
|
||||
tile[i].collision = col;
|
||||
} catch(IOException e) {
|
||||
Boot.logger.log(Level.SEVERE, "Could not load tile", e);
|
||||
}
|
||||
}
|
||||
|
||||
public void getTileImage() {
|
||||
initializeTile(0, "grass", false);
|
||||
initializeTile(1, "wall", true);
|
||||
initializeTile(2, "water", true);
|
||||
initializeTile(3, "earth", false);
|
||||
initializeTile(4, "tree", true);
|
||||
initializeTile(5, "sand", false);
|
||||
|
||||
BufferedImage scaledImage;
|
||||
for (Tile tile : tile) {
|
||||
if(tile == null) continue;
|
||||
scaledImage = new BufferedImage(panel.tileSize, panel.tileSize, tile.image.getType());
|
||||
Graphics2D g2d = scaledImage.createGraphics();
|
||||
g2d.drawImage(tile.image, 0, 0, panel.tileSize, panel.tileSize, null);
|
||||
tile.image = scaledImage;
|
||||
}
|
||||
}
|
||||
|
||||
public void loadMap(String map) {
|
||||
try {
|
||||
InputStream stream = new FileInputStream("assets/maps/"+map+".map");
|
||||
|
||||
Reference in New Issue
Block a user