我目前正在开发一个用Java编写的游戏.为此我使用JFrames,JPanels和JButton.
要选择要播放的级别,您必须选择一个世界,然后选择一个级别.
启动游戏后,我WorldSelection
会创建一个新的实例,按下按钮后,所选的世界将被设置并LevelSelection
创建一个新的实例.
当按下按钮时,水平设置.
这是我的问题:
在Game
类中,该update
方法每秒检查选定的世界和级别60次,如果两者都选择了值,则会创建一个Stage
/ 的新实例Level
.
当我按下按钮设置时Level
,我得到一个NullPointerException
,即使它检查的值有一个值.
这不会一直发生; 它工作的一半时间(没有抛出异常),另外50%抛出异常.
Exception in thread "main" java.lang.NullPointerException
at Game.update(Game.java:41)
at Game.run(Game.java:23)
at Game.start(Game.java:34)
at Game.<init>(Game.java:10)
at Game.main(Game.java:77)
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
游戏类:
public class Game {
private boolean running;
private WorldSelection ws;
private boolean chosen = false;
public Game() {
ws = new WorldSelection();
start();
}
public void run() { // game loop
long lastTime = System.nanoTime();
long timer …
Run Code Online (Sandbox Code Playgroud)