Hallo liebe Java Gemeinde 
Ich beschäftige mich seit einigen Wochen mit Java und habe nun ein Problem mit einer NullPointerException, ich finde einfach den Fehler nicht und würde mich natürlich freuen wenn ihr mir weiterhelfen könntet:
Ich bin dabei Pacman zu programmieren, und bisher läuft es auch ganz gut. Nachdem ich eine TileMap erstellt habe, wollte ich jetzt aus einer Map entsprechend den Farbcodes (schwarz , rot, grün...) entsprechende Texturen zuordnen. Die Map liest er auch entsprechend aus, jedoch bekomme ich scheinbar bei der if Abfrage einen Fehler. Dieser wird in Zeile 49 wirksam ???:L???:L
Wenn ich die if Abfrage in Zeile 30 herausnehme, bekomme ich auch keinen entsprechenden Fehler mehr. Nur wieso?
Ich beschäftige mich seit einigen Wochen mit Java und habe nun ein Problem mit einer NullPointerException, ich finde einfach den Fehler nicht und würde mich natürlich freuen wenn ihr mir weiterhelfen könntet:
Ich bin dabei Pacman zu programmieren, und bisher läuft es auch ganz gut. Nachdem ich eine TileMap erstellt habe, wollte ich jetzt aus einer Map entsprechend den Farbcodes (schwarz , rot, grün...) entsprechende Texturen zuordnen. Die Map liest er auch entsprechend aus, jedoch bekomme ich scheinbar bei der if Abfrage einen Fehler. Dieser wird in Zeile 49 wirksam ???:L???:L
Wenn ich die if Abfrage in Zeile 30 herausnehme, bekomme ich auch keinen entsprechenden Fehler mehr. Nur wieso?
Java:
public class World {
private Player player;
private Tile[][] tiles;
static int level = 01;
private int tileWidth;
private int tileHeight;
public World() {
player = new Player(Config.MAIN_WIDTH / 2 - Config.OBJEKT_WIDTH / 2,
Config.MAIN_HEIGHT / 2 - Config.OBJEKT_HEIGHT / 2);
loadNextLevel();
}
public void loadNextLevel() {
BufferedImage map = Images.imageLoader("map01", "png");
tileWidth = map.getWidth();
tileHeight = map.getHeight();
tiles = new Tile[tileWidth][tileHeight];
for (int x = 0; x < tileWidth; x++) {
for (int y = 0; y < tileHeight; y++) {
Color c = new Color(map.getRGB(x, y));
if (c.getRed() == 0 && c.getGreen() == 0 && c.getBlue() == 0) {
tiles[x][y] = new Tile(x, y, 0);
}
}
}
}
public void update(float timeSinceLastFrame) {
player.update(timeSinceLastFrame);
}
public void draw(Graphics g) {
for (int x = 0; x < tileWidth; x++) {
for (int y = 0; y < tileHeight; y++) {
tiles[x][y].draw(g);
}
}
player.draw(g);
}
}
Zuletzt bearbeitet: