Java的空指针异常

时间:2014-06-17 21:50:07

标签: java lwjgl

我目前开始使用LWJGL制作java游戏,而且我正在制作基本的乒乓球游戏。但是我在这一行上不断收到NullPointerException。

paddle.move(1)

完整的命令是:

private GOPlayer paddle;
public void getInput(){
    if(Keyboard.isKeyDown(Keyboard.KEY_W))
        paddle.move(1);
}

GOPlayer.move是:

    public static final float SPEED = 4f;
    public void move(float mag){
        this.y += SPEED * mag;
}

我做了initalize paddle

objects = new ArrayList<GameObject>();
GOPlayer paddle = new GOPlayer(0, Display.getHeight()/2 - GOPlayer.SIZEY/2, null);
objects.add(paddle);

我似乎无法弄明白,它可能像往常一样非常明显。

2 个答案:

答案 0 :(得分:2)

好的,我只需要从

中删除第一个GOPlayer
GOPlayer paddle = new GOPlayer(0, Display.getHeight()/2 - GOPlayer.SIZEY/2, null);

感谢Joachim Isaksson

答案 1 :(得分:1)

如果这是您的所有代码,paddle只能是null,因为它尚未初始化。

执行private GOPlayer paddle = new GOPlayer();或类似的操作,具体取决于您创建GOPlayer个对象的方式。

为了响应您的初始化:而不是GOPlayer paddle = new GOPlayer(0, Display.getHeight()/2 - GOPlayer.SIZEY/2, null);,请执行paddle = new GOPlayer(0, Display.getHeight()/2 - GOPlayer.SIZEY/2, null);,因为您似乎已经声明了paddle,因为您似乎想要使用该字段(private GOPlayer paddle)但是你创建了一个新的局部变量......