Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Flimmern bei Bewegen von Grafik (https://www.delphipraxis.net/56481-flimmern-bei-bewegen-von-grafik.html)

crushead777 6. Nov 2005 16:10


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

stefan2005 6. Nov 2005 16:35

Re: Flimmern bei Bewegen von Grafik
 
hi,
probier mal bei dem FormCreate Event deines Forms folgende Code-Zeile:
Delphi-Quellcode:
Form1.DoubleBuffered := True;
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:

mfg,
stefan

faux 6. Nov 2005 18:49

Re: Flimmern bei Bewegen von Grafik
 
...und die Windows-Buttons haben einen schwarzen Rahmen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz