Hallo N4r0,
Willkommen in der
DP
Euer Ansatz ist schon richtig. Du hast leider nicht verraten, welche Fehlermeldung angezeigt wird. Ich vermute allerdings mal, sie kommt daher, dass durch die vorwärtslaufende Schleife auf Elemente zugegriffen werden, die nicht mehr vorhanden sind. Versucht mal, die Schleife in Zeile 236 andersherum laufen zu lassen.
Sprich:
Delphi-Quellcode:
for j := High(Schuss1) downto 0 do
...
Eine Sache allerdings noch: Ihr gebt die erzeugten Schuss-Images nirgens frei, was zu einem Memory-Leak führt! Ruft Schuss1[j].Free auf, bevor ihr es aus dem Array entfernt.