Hey ich wollte "ein" Array bzw die hinterlegten Arraywerte in einem GUI erzeugen.
So funktioniert es wunderbar:
// game.JClonk.blocksize = 5;
aber mit block[x][y].render(g); - wirft er mir diesen Fehlercode:
Was übersehe ich bei meiner y Variable?
Das Script sollte im Endeffekt die blocks erzeugen in dem es erst das X immer wieder erhöht, anschließend einmal Y erhöht um dann wieder von vorn zu beginnen solange nicht das komplette Bild abgearbeitet ist(was dann über z realisiert wird/werden sollte).
So funktioniert es wunderbar:
Java:
public void render(Graphics2D g) {
int y = 0;
int x = 0;
for(int z = 0; z < image.getWidth(); z += game.JClonk.blocksize ) {
for (x=0; x < image.getWidth(); x += game.JClonk.blocksize) {
block[x][0].render(g);
block[x][5].render(g);
block[x][10].render(g);
}
y += game.JClonk.blocksize;
if((y < image.getHeight())) {
z = 0;
} else {
z = image.getWidth();
}
}
}
aber mit block[x][y].render(g); - wirft er mir diesen Fehlercode:
Was übersehe ich bei meiner y Variable?
Java:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at world.World.render(World.java:30)
at game.Playstate.render(Playstate.java:26)
at game.GameStateManager.render(GameStateManager.java:22)
at game.Game.paintComponent(Game.java:56)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1200(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(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$JavaSecurityAccessImpl.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)
Das Script sollte im Endeffekt die blocks erzeugen in dem es erst das X immer wieder erhöht, anschließend einmal Y erhöht um dann wieder von vorn zu beginnen solange nicht das komplette Bild abgearbeitet ist(was dann über z realisiert wird/werden sollte).