2015-04-19 78 views
1

我想做一個網格,使用2d數組列表,我想使它與矩形,所以我可以使用。交互與它,我也需要它是95×95和除此之外,這是我目前爲止的,但由於錯誤而無法工作。2d數組與矩形()網格

public static Rectangle[][] walls; 
    public static void walls() { 
    int wallsY = 0, wallsX =0; 
    for (int i = 0; i < 7; i++) { 
     for (int j = 0; j < 7; j++) { 
      //shapeList.add(new Rectangle(wallsX, wallsY, 95, 95)); 
      walls[i][j] = new Rectangle(wallsX,wallsY,95,95); 
      wallsY += 95; 
      wallsX += 95; 

     } 
    } 

然後我用:

for (int i = 0; i < walls.length; i++) { 
     for(int j =0; j < walls.length; j++){ 
      if (intersectsBox(playerRectangle(), walls[i][j])) { 
       isInsideWalls = true; 
      } 
     } 
    } 

檢查,如果他們相交。不過,我不斷收到一個錯誤是在這裏:

'異常在線程 「AWT-EventQueue的-0」 顯示java.lang.NullPointerException 在bombermangame.Game.walls(Game.java:165)在 bombermangame 。遊戲。(Game.java:62)在 bombermangame.Menu.actionPerformed(Menu.java:98)在 javax.swing.AbstractButton.fireActionPerformed(來源不明

回答

2

你從來沒有初始化的牆壁。在此之前你for loop for (int i = 0; i < 7; i++),add:

walls = new Rectangle[7][7]; 

我把7和7放在那裏,因爲這就是它看起來的尺寸。

+0

謝謝,我試着移動它的加載到遊戲後面的位置,它的工作,我也需要添加此 – joejoethemonkey