Я попытался понять, что я сделал неправильно, но не могу найти, что не так. Когда я запускаю следующий код он вернетсяInt Null Pointer Exception
Exception in thread "main" java.lang.NullPointerException
at jeremy.engine.Animation.displayFrames(Animation.java:43)
at jeremy.engine.Animation.playNextFrame(Animation.java:54)
at jeremy.engine.test.draw(test.java:33)
at jeremy.engine.test.main(test.java:90)
Проблемы швов быть с этим сегментом кода
public static boolean displayFrames() {
if (frame<frames.length+1) {
Disp.drawTexturedBox(x, y, width, height, frames[frame]);
return true;
}
return false;
}
Я пытаюсь загрузить изображения и отобразить его в виде анимации. Мой код инициализации
public static double x = 0;
public static double y = 0;
public static double width = Disp.resX;
public static double height = Disp.resY;
private static Texture frames[] = null;
'Текстурные рамки []' определены дважды в вашем коде ... Это говорит о том, что вы не используете один и тот же экземпляр 'frames' в вашем методе' displayFrames', который вы использовали в 'loadFiles' – Smit
Поскольку' frames' равно null. У вас есть локальная переменная 'frames' в' loadFiles', поэтому, когда вы пишете 'frames' внутри' loadFiles', это означает эту переменную, а не поле. Не создавайте две разные вещи с тем же именем, если это смущает вас. – immibis
Я удалил второе определение, но у меня все еще есть такая же проблема – Je06