Thema: Delphi nur Bereiche neuzeichnen

Einzelnen Beitrag anzeigen

Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#1

nur Bereiche neuzeichnen

  Alt 16. Okt 2006, 17:09
Hi!

Zur Performanceverbesserung (2D-Spiel/PaintBox), möchte ich nur Bereiche neuzeichnen. In dem Spiel gibt es mehrere Kugeln, die sich über die PaintBox bewegen. Ich möchte also nur die Kugeln neuzeichnen.

Ich zeichne sie auf ein Bitmap (quadratisch, Seitenlänge = Durchmesser der Kugel) im Speicher und kopiere sie dann per BitBlt alle nacheinander auf die PaintBox.

Da das Bitmap im Speicher ein Quadrat, ist, kommt es gelegentlich vor, dass die Ecken des Quadrats eine andere Kugel übermalen (siehe Anhang).

Wie kann ich das verhindern?

Meine Ideen:
1) Gibt es eine Methode wie BitBlt, die stattdessen Kreise kopiert?
2) Direktes Zeichnen auf PaintBox.Canvas, ohne Bitmap im Speicher
3) Sollte das Bitmap im Speicher die Größe der PaintBox haben, dass ich also doch ALLES neuzeichne?


EDIT: Anhang vergessen
Angehängte Grafiken
Dateityp: bmp bereiche_zeichnen_437.bmp (3,3 KB, 79x aufgerufen)
  Mit Zitat antworten Zitat