0
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が発生しているようです。誰かが助けてくれるかどうか疑問に思っていますか?

4

2 に答える 2

0

外側の配列のみを割り当てました。

各内部配列を割り当てる必要があります。

それで:

map = new BufferedImage[width][height];
for (int i = 0; i < width; i++)
{
    map[i] = new BufferedImage[height];
}
于 2012-07-12T01:03:12.543 に答える
0

行からNullPointerExceptionが発生しているのではないかと思われますcharMap[j][i] == Mountains.indentifier

Geoffの提案に従って、charMapとmapの両方の内部配列を初期化するようにしてください。

于 2012-07-12T04:12:54.920 に答える