Hi,
Also ich habe bis jetzt immer ImageIcons genommen für meine Bilder, habe aber oft gelesen das BufferedImages viel schneller sind etc also habe ich mal auf Buffered Image gewechselt. Nun ist es aber viel längsamer (100 Bilder mit Auflösung 64 * 64 habe ich gerade mal 12 fps) Ich glaube irgendwas habe ich falsch gemacht Also hier mal der Code:
Die Tile Klasse:
Ein 2-Dimensionales Array von diesen Tiles, Und das füllen des Arrays:
Hier noch das wahrscheindlich wichtigste. Die Klasse welche die Bilder herausliest.
Kann mir jemand sagen was ich hier falsch gemacht hab?
Mfg, Templon
Also ich habe bis jetzt immer ImageIcons genommen für meine Bilder, habe aber oft gelesen das BufferedImages viel schneller sind etc also habe ich mal auf Buffered Image gewechselt. Nun ist es aber viel längsamer (100 Bilder mit Auflösung 64 * 64 habe ich gerade mal 12 fps) Ich glaube irgendwas habe ich falsch gemacht Also hier mal der Code:
Die Tile Klasse:
Code:
public class Tile {
private double x;
private double y;
private BufferedImage image;
public Tile(double x, double y, BufferedImage image) {
this.x = x;
this.y = y;
this.image = image;
}
public BufferedImage getImage() {
return image;
}
public void setImage(BufferedImage image) {
this.image = image;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}
Ein 2-Dimensionales Array von diesen Tiles, Und das füllen des Arrays:
Code:
Tile[][] mapTiles = new Tile[10][10];
public void fillMap() {
for (int x = 0; x < mapTiles.length; ++x) {
for (int y = 0; y < mapTiles.length; ++y) {
mapTiles[x][y] = new Tile(x * 64, y * 64, ImageLoader.LoadImage("test/data/pictures/Grass1.png"));
}
}
}
Hier noch das wahrscheindlich wichtigste. Die Klasse welche die Bilder herausliest.
Code:
public class ImageLoader {
public static BufferedImage LoadImage(String fileToLoad) {
BufferedImage image = null;
try {
File file = new File(fileToLoad);
image = ImageIO.read(file);
} catch (IOException e) {
System.err.println("Couldnt read File: " + fileToLoad);
} finally {
}
return image;
}
}
Kann mir jemand sagen was ich hier falsch gemacht hab?
Mfg, Templon