PC 用の Breakout のクローンを作成しています。今夜の早い時間に、NullPointerException がスローされ、コンソールに表示されていることがわかりました。奇妙なことに、このメソッドrun()
は、発生するすべての例外をキャッチしてスタックトレースを表示し、それらを無視するように指示されますが、今回は開始時にゲームをフリーズさせ、ログを記録し、キープレスは引き続き追跡されますが、ゲーム内では何も起こりません。明らかに、ゲームは中止されませんでしたが、再描画されません。
1行のコードから来ているようです:
if (by >= bricks[0].y && by <= bricks[0].y + bricks[0].img.getHeight(null) && bx >= bricks[0].x && bx <= bricks[0].x + bricks[0].img.getWidth(null)) {
ログとスタックトレース (全体) は次のとおりです。
Game starting, menu boot.
Menu Loaded, JFrame visible.
Running thread.
Play clicked, start game initialization.
Creating JFrame.
JFrame created and visible.
Starting game thread
Initialize user variables.
Initialized user variables.
Initialization complete, start game.
java.lang.Execption in line 86/87, class Game. Stacktrace:
java.lang.NullPointerException
at Game.move(Game.java:195)
at Game.run(Game.java:86)
at java.lang.Thread.run(Thread.java:722)
Space hit!
Key ARROWLEFT hit.
Key ARROWLEFT hit.
Key ARROWLEFT hit.
Key ARROWLEFT hit.
Key ARROWLEFT hit.
Key ARROWLEFT hit.
Key ARROWLEFT hit.
Key ARROWLEFT released.
Key ESCAPE Hit!
この問題が解決できることを願っています。