Динамические спрайты с Arraylist - Исключение в потоке "AWT-EventQueue-0" java.lang.NullPointerException - PullRequest
0 голосов
/ 18 февраля 2012

GameCanvas

AppleEnity - http://pastebin.com/ZVyL5fRm

Enity - paste bin.com/r4cqtr8B (пока не могу разместить более 2 ссылок)

У меня проблема с добавлением новых динамических спрайтов в мою сцену. Нажатие E (со случайным образом должно появиться яблоко) дает мне эту ошибку:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at start.GameCanvas.dodaj(GameCanvas.java:65)
at start.GameCanvas.keyPressed(GameCanvas.java:149)
at java.awt.Component.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

1 Ответ

0 голосов
/ 18 февраля 2012

Проблема, очевидно, в этой строке:

jablka.add(new AppleEnity("resources/apple.png", random.nextInt(400), random.nextInt(400)));

... но дело не в переменной jablka, а в следующем выражении:

random.nextInt(400)

вы никогда не инициализируете random переменная:

private Random random;

Замените строку выше на:

private final Random random = new Random();

И все будет в порядке.Или просто используйте Math объект или RandomUtils.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...