Ich entwickle gerade ein Spiel mit LWJGL 3.0.0b und ein seltsames Ereignis ist aufgetaucht.ArrayList size() Methode Absturz Programm
Hintergrund:.
ich eine benutzerdefinierte Entity-Klasse und ein Unternehmen Manager in meine Entitäten zu speichern, wenn ein Unternehmen aktualisiert wird ein Verfahren „tickTrail
“ genannt genannt wird, die in einer Spur Entität fügt das zu machen Grafik visuell besser und unterhaltsam.
Schon habe ich es bis auf die entities.size()
Funktion vereinfacht, ja ich versuche, dies selbst zu lösen: P
Eine Lösung, die ich zur Zeit haben wird alle Methoden ähnlich wie diese zu ersetzen:
for (int i = 0; i < entities.size(); i++)
{
//calls a method for drawing, updating, or input
}
zu ersetzen jede einzelne entities.size()
bis size
. size
ist eine Variable, die geändert wurde, wenn eine Entität hinzugefügt, entfernt, die Liste gelöscht oder nur Feinde entfernt wurden.
Diese Methode funktioniert 100%, Fenster ziehen stürzt nicht das Programm mit dieser Methode.
Frage
So zusammenzufassen, wird die abschließende Frage, warum tritt das? Ich habe nicht bestimmt, warum das Ziehen eines Fensters und die Verwendung der size() -Methode der ArrayList das Programm abstürzt, aber das Speichern einer Variablen an ihrer Stelle ist völlig in Ordnung.
Hilfe oder Erklärung für dieses seltsame Phänomen ist sehr geschätzt :)
EDIT Das letzte Mal bearbeitet erwies sich als falsch, auch mit der Größe variabel in das Programm immer noch Verwendung abstürzt, Zeit zum Zeichenbrett zurück zu gehen ....
EDIT ZWEI okay, so dass manchmal die Fenster Werke andermal ziehen es nicht, könnte dies mehr als nur eine einfache Methode size() Aufruf:/
Mit dem Absturz meine ich, dass das Programm nur abstürzt, nicht Ausnahmen nichts. Ich benutze die Eclipse IDE, vielleicht ist es nur das. –
Ich bin nicht sicher, wie wir angesichts der bisher präsentierten Informationen helfen können. Sie haben keine leeren Fangblöcke, oder? Haben Sie es durch den Eclipse Debugger laufen lassen?Ich wette, dass Ihre beste Wette im Moment ist, Teile und Siege zu teilen, einzelne in sich abgeschlossene Teile Ihres Codes zu testen und einen Drilldown durchzuführen, bis Sie die Ursache des Fehlers isoliert haben. –
Mein Geld ist auf eine NullPointerException ... –