带有 Rectangle() 网格的二维数组
2d Array with Rectangle() grid
我正在尝试制作一个网格,使用二维数组列表,我想用矩形制作它,所以我可以使用 .intersects 与它,我还需要它是 95 x 95 和 95 分开,这是我目前拥有的,但由于错误而无法正常工作。
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;
}
}
}
检查它们是否相交。但是我不断收到一个错误,就在这里:
`Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at bombermangame.Game.walls(Game.java:165) at
bombermangame.Game.(Game.java:62) at
bombermangame.Menu.actionPerformed(Menu.java:98) at
javax.swing.AbstractButton.fireActionPerformed(Unknown Source
您从未初始化墙。在 for 循环 for (int i = 0; i < 7; i++)
之前,添加:
walls = new Rectangle[7][7];
我把 7 和 7 放在那里,因为这就是看起来的尺寸。
我正在尝试制作一个网格,使用二维数组列表,我想用矩形制作它,所以我可以使用 .intersects 与它,我还需要它是 95 x 95 和 95 分开,这是我目前拥有的,但由于错误而无法正常工作。
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;
}
}
}
检查它们是否相交。但是我不断收到一个错误,就在这里:
`Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at bombermangame.Game.walls(Game.java:165) at bombermangame.Game.(Game.java:62) at bombermangame.Menu.actionPerformed(Menu.java:98) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source
您从未初始化墙。在 for 循环 for (int i = 0; i < 7; i++)
之前,添加:
walls = new Rectangle[7][7];
我把 7 和 7 放在那里,因为这就是看起来的尺寸。