map = new BufferedImage[width][height];
for(int i=0;i<height;i++){
for(int j=0;j<width;j++){
if(charMap[j][i] == Mountains.indentifier) {
if ( j+1 < width && j-1 >= 0){
if(charMap[j-1][i] != Mountains.indentifier && charMap[j+1][i] != Mountains.indentifier) {
map[j][i]= tileGrid[1][10];
}
}
else {
map[j][i]= tileGrid[8][10];
}
}
}
这是我用来尝试通过检查单元格周围的每个图块来检查2D数组的代码,但我似乎得到了一个nullpointerexception我想知道是否有人可以提供帮助?
答案 0 :(得分:0)
您只分配了外部数组。
您需要分配每个内部数组。
所以:
map = new BufferedImage[width][height];
for (int i = 0; i < width; i++)
{
map[i] = new BufferedImage[height];
}
答案 1 :(得分:0)
我怀疑你是从charMap[j][i] == Mountains.indentifier
行获得NullPointerException。
确保按照Geoff的建议初始化charMap和map的内部数组。