初始化方法时出现NullPointerException

时间:2015-05-25 21:08:45

标签: java nullpointerexception

我正在开展塔防游戏,现在我正在制造一波敌人。我在EnemyWave类中编写了一个创建下一波的方法。在我的主类GameScreen中,在开始新游戏时我将当前波的数量设置为0,我需要使用uptadeWave(),它在游戏循环中创建新的Wave。我无法弄清楚为什么我会得到NullPointerException。

var availableTags = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ];

    $("#vendorDropdown").autocomplete({
        source: availableTags
    });

我在run()中遇到的方法,它得到的错误符合this.wave.waveNumber = 0(应该只将waveNumber设置为0)

 public void run() {


    int frames = 0;

    loadGame();
    startGame("Level1");

    while (running) {

        repaint();
        frames++;

        waveUpdate();
        enemyUpdate();

        try {
            Thread.sleep(2);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

在游戏循环中创建wave的方法

public void startGame(String level) {
    createPlayer();

    this.level = levelFile.getLevel(level);
    this.level.findSpawnPoint();
    this.map = this.level.map;

    this.wave.waveNumber = 0;

}

}

开始下一波敌人的方法。

 public void waveUpdate() {
    if (waveID == 0) {
        wave.nextWave();
        waveID++;
    }

这是我在StackOverflow中的第一个问题,所以如果我要放在这里更多,请告诉我。 :)

0 个答案:

没有答案