Ich kann die Exe jetzt nicht mehr ansehen, hast du Bilder benutzt oder einfach Shapes als Blöcke?
Nun, eigentlich sind es Bitmaps und dann doch nicht. Das Problem ist, dass bei Canvas so ab 2000 Objekte das Programm langsam in die Knie geht. Ab etwa der doppelten Menge kommt dann auch ein Out of Memory. Das System klappt zusammen, denn auch wenn es kleine Bitmaps sind, alles verbraucht Speicherplatz. Also wurde die Klasse erweitert, so dass die Explosion keine Bitmaps mehr sind, sondern gezeichnete Rechtecke. Es schaltet also ab einer bestimmten Größe von Bitmap auf zeichnen. Und dann dachte ich mir, pfeif auf die Bitmap und hab die Grenze ab der gezeichnet wird nach oben verschoben, so dass nur noch gezeichnet wird. Trotzdem, da ist beides drin. Das Problem ist die Canvas. Denn gelegentlich sind da paar tausend Objekte drauf.
Zitat:
Sehe ich das richtige, dass es eine Klasse TBlock ist, die beim Zerstören eines großen Kreises neu erzeugt werden, nur eben kleiner?
Der Rechenkram dürfte dann sein, zu berechnen, wie groß die kleinen Blöcke sein müssen um zusammen den alten zu ergeben. Stimmt das so einigermaßen?
Ja. Nur habe ich einen ganz anderen Ansatz als du. Bei mir sind das alles Bitmaps, keine TShapes oder TImages. Ob der Mauszeiger ein Objekt getroffen hat wird durch Berechnung ermittelt.