2014-06-17 4 views
0

В настоящее время я начинаю с использования LWJGL для создания java-игр, и я нахожусь в середине создания базовой игры в стиле понг. Однако я продолжаю получать исключение NullPointerException в этой строке.Исключение Null Pointer для Java

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); 

Я просто не могу понять это, вероятно, что-то действительно очевидное, как обычный.

+1

ли вы инициализировать 'paddle'? – vandale

+0

'private GOPlayer paddle = new GOPlayer();' может быть? Я не вижу, что вы инициализируете 'paddle'. –

+0

yes Я инициализировал paddle – starkman9000

ответ

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), но создать новую локальную переменную вместо ...

2

Хорошо, мне просто нужно, чтобы удалить первый GOPlayer из

GOPlayer paddle = new GOPlayer(0, Display.getHeight()/2 - GOPlayer.SIZEY/2, null); 

Спасибо Joachim Isaksson

Смежные вопросы