Hallo zusammen,
ich arbeite zurzeit an einem Spiel und würde gerne als map ein 2-dimensionales Array benutzen, welches aus der Klasse Feld zusammensetzen würde.
Die Klasse Map stellt also das Array zur Verfügung und sollte per Aufruf von init() eigentlich die Bilder in das Array laden.
seltsamerweise ist nur der Platz map[0][0] belegt, und alle anderen Felder sind = null.
Wenn ich ein anderes Feld abfrage, bekomme ich eine NullPointerException.
Wahrscheinlich is das nur so'n doofer flüchtigkeitsfehler...
vielen dank schonmal für die hilfe
Funny-Chacko
ich arbeite zurzeit an einem Spiel und würde gerne als map ein 2-dimensionales Array benutzen, welches aus der Klasse Feld zusammensetzen würde.
Java:
import java.awt.Image;
public class Feld
{
Image img;
int posX, posY;
public Feld(Image image, int x, int y)
{
img = image;
posX = x;
posY = y;
}
public Image getImage()
{
return img;
}
public int getYPosition()
{
return posX;
}
public int getXPosition()
{
return posY;
}
}
Die Klasse Map stellt also das Array zur Verfügung und sollte per Aufruf von init() eigentlich die Bilder in das Array laden.
Java:
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.ImageObserver;
public class Map {
Feld[][] map = null;
int width, height;
Toolkit tool;
public Map(int pWidth, int pHeight, Toolkit t)
{
tool = t;
map = new Feld[pHeight][pWidth];
this.init();
}
public void init()
{
int x = 0;
int y = 0;
Image imgfeld = tool.getImage("img/feld.jpg");
for(int loopA = 0; loopA <= height; loopA++)
{
for(int loopB = 0; loopB <= width; loopB++)
{
map[loopA][loopB] = new Feld(imgfeld, x, y);
x += 30;
}
y += 15;
}
}
public void draw(Graphics g, ImageObserver i)
{
for(int loopA = 0; loopA <= height; loopA++)
{
for(int loopB = 0; loopB <= width; loopB++)
{
g.drawImage(map[loopA][loopB].getImage(), map[loopA][loopB].getXPosition(), map[loopA][loopB].getYPosition(), i);
}
}
}
}
seltsamerweise ist nur der Platz map[0][0] belegt, und alle anderen Felder sind = null.
Wenn ich ein anderes Feld abfrage, bekomme ich eine NullPointerException.
Wahrscheinlich is das nur so'n doofer flüchtigkeitsfehler...
vielen dank schonmal für die hilfe
Funny-Chacko
Zuletzt bearbeitet: