![]() |
Flimmern bei Bewegen von Grafik
Hallo,
ich möchte ein kleines Spiel proggen. In dem Spiel fliegt eine transparente Grafik über einen Hintergrund. Das hab ich mit BitBlt erreicht. Mein Problem ist aber jetzt, dass es ein wunderbares Geflimmer gibt wenn sich das Sprite bewegt.
Delphi-Quellcode:
procedure DrawSprite(C:TCanvas; Sprite, Shape, bg: TImage; X, Y:Integer);
begin BitBlt(C.Handle, 0, 0, 800, 600, Bg.canvas.Handle, 0, 0, SRCCOPY); BitBlt(C.Handle, x, y, Sprite.Width, Sprite.Height, Shape.Canvas.Handle, 0, 0, SRCAnd); BitBlt(C.Handle, x, y, Sprite.Width, Sprite.Height, Sprite.Canvas.Handle, 0, 0, SRCInvert); end; procedure TForm1.Timer1Timer(Sender: TObject); begin DrawSprite(PbxDisplay.Canvas, kaefer, negativ, bg, i, 0) ; end; Hat da jmd eine Idee wie ich das ändern kann? Vielen Dank schon mal :) :) :) Josch |
Re: Flimmern bei Bewegen von Grafik
hi,
probier mal bei dem FormCreate Event deines Forms folgende Code-Zeile:
Delphi-Quellcode:
Damit wird ein zusätzlicher Buffer eingebaut, wodurch das Flimmern zum größten teil beseitigt werden kann, benötigt jedoch mehr CPU Zeit und ein wenig mehr RAM :wink:
Form1.DoubleBuffered := True;
mfg, stefan |
Re: Flimmern bei Bewegen von Grafik
...und die Windows-Buttons haben einen schwarzen Rahmen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz