ich bin Java Anfänger und wollte zum Einstieg das 2D - Tutorial von Quaxli durcharbeiten. Ich bin jetzt an dem Punkt, wo der Helikopter per Cursortasten gesteuert werden kann, das funktioniert auch soweit tadellos ABER:
Während der Laufzeit spuckt die Console fortlaufend folgende Fehler aus:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 4
at Sprite.drawObjects(Sprite.java:63)
at GamePanel.paintComponent(GamePanel.java:156)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.BufferStrategyPaintManager.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.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(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)
Dadurch läuft auch alles ziemlich ruckelig und der Heli bewegt sich in horizontaler Richtung deutlich langsamer als in vertikaler Richtung. Das ganze nervt mich im Moment ziemlich da ich keine Ahnung hab woher der Fehler kommt, den Code hab ich mittlerweile doppelt und dreifach überprüft. Damit will ich zwar nicht sagen, dass ich nicht doch etwas übersehen haben könnte, aber evtl. weiss einer von euch sofort was die Fehler verursacht und wie ich sie weg bekomme ?
Könnte mir vorstellen, dass du beim Zeichnen auf ein Bild der Animation zugreifst, das nicht existiert, bzw. du greifst auf das Vierte Bild der Animation mit get(4) zu anstatt get(3) (oder, wenns ein Array ist halt [4] anstatt von [3])...
Aber ohne Code schwer zu sagen, was genau die Ursache ist
Ich hab nochmal in den Code geschaut, aber kann nichts falsches finden. Ich habe alles so geschrieben wie es im Tutorial erklärt wird. Nachfolgend mal die beiden Codeteile auf die in der Fehlermeldung verwiesen wird: