Auf Thema antworten

>  for(Drawable draw:actors){

reagiert empfindlich wenn die Liste zwischendurch geändert wird,

bei nebenläufigen Zeichnen + Ändern der Daten kann das schon passieren,


> Entweder du verwendet überall nen Iterator und löschst über den dann deine Elemente


ein Iterator kommt mit sich selber zurecht, bei zweien bleibt das Problem bestehen, andere Änderungen sind schlecht, egal von wem,

wenn dann müsste es schon ein sehr spezieller Iterator sein, dessen Instanzen alle miteinander verknüpft sind, sich gegenseitig informieren


-----


eine Patentlösung gibts dazu wohl nicht, wenn ich jetzt mal drüber nachdenke,


die Spiel-Verarbeitung während des Zeichnens komplett zu pausieren klingt wenig sinnvoll,

sofern man überhaupt feststellen kann wann gezeichnet wird, paintComponent müsste sich dazu zu Beginn und Ende melden,

andererseits hat man dann auch nicht das Problem, dass seltsame Dinge gezeichnet werden, weil ein Objekt noch den alten Zustand hat, ein anderes schon den neuen


besser ist schon wenn paintComponent sich die Daten kopiert, bevor es sie durchläuft,

aber das ist aufwendig und die Exception kann dann immer noch kommen, bei Änderung genau zum Zeitpunkt des Kopierens



Oben