nullPopinter错误greenfoot

时间:2015-01-28 15:20:29

标签: nullpointerexception greenfoot

我正在开发一个编程类介绍项目,我遇到了一个小问题。我们正在制作侧卷轴,而且我现在在得分计数器上工作。我的问题是,当我尝试在除act方法之外的任何东西(每帧调用一次)中创建对计数器类的引用时,我得到一个空指针异常错误。如果你想看一下,你可以下载我的代码here的zip文件。

编辑: 这是违规代码:

public class HeroMissile extends Missiles

{

/**
 * Act - do whatever the HeroMissile wants to do. This method is called whenever
 * the 'Act' or 'Run' button gets pressed in the environment.
 */
public void act() 
{
    move(8);
    remove();
}    

public void remove() {
    if(isTouching(Drone.class)) {
        removeTouching(Drone.class);
        getWorld().addObject(new Explosion(), getX(), getY());
        getWorld().removeObject(this);
        addScore();
        return;
    }
}

public void addScore() {
    City cityWorld = (City) getWorld();
    **Counter scoreCounter = cityWorld.getCounter();**
    scoreCounter.add(1);
}

}

1 个答案:

答案 0 :(得分:0)

在您离开这个世界之后,您正在呼叫getWorld() [在addScore()]中。在这种情况下,getWorld()将返回null,因此您将获得空指针异常。尝试更改remove()中的顺序,以便在将自己从世界中移除之前添加分数。