我正在試圖製作一款需要你放置塊的遊戲,類似於Minecraft。但是,我試圖創建一個多維數組,它將存儲放置的塊的x和y座標,我一直在遇到一些麻煩。代碼如下:訪問多維數組時拋出NullPointerException
public Block[][] blocks = new Block[maxBlockX][maxBlockY];
它給了我一個空指針異常。以下例外情況如下。
Exception in thread "main" java.lang.NullPointerException
at net.lojana.src.World.loadWorldAsReg(World.java:16)
at net.lojana.client.SpriteCraft.display(SpriteCraft.java:45)
at Run.main(Run.java:5)
這是在我的世界級引用以下方法loadWorldAsReg()
。方法在這裏。
public void loadWorldAsReg() {
for (int x = 0; x < maxBlockX; x += 20) {
for (int y = 0; y < maxBlockY; y += 20) {
blocks[x][y].draw();
}
}
}
它也引用下面的方法。
public void draw() {
getTexture().bind();
shapes.drawSquare(new Point(x, y), new Point(x + 20, y + 20));
}
有沒有人有想法如何解決這個奇怪的錯誤? 非常感謝!
這些方法中的每一種都會引用什麼?什麼是'maxBlockX'和'maxBlockY'被定義爲? –
「World」類的第16行是'blocks [x] [y] .draw();' – user1921838