This question already has an answer here:
NullPointerException but compiling?
                                
                                    (1个答案)
                                
                        
                5年前关闭。
            
        

我目前正在开始使用LWJGL来制作Java游戏,而我正在制作一个基本的类似Pong的游戏。但是我一直在这行上获取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;
}


我确实鼓动了桨

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


我只是似乎无法弄清楚,它可能像往常一样非常明显。

最佳答案

如果这是您的所有代码,则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,而是创建了一个新的局部变量...

关于java - Java的Null Pointer异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24273872/

10-11 00:18