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