Einzelnen Beitrag anzeigen

Benutzerbild von calculon
calculon

Registriert seit: 16. Sep 2006
256 Beiträge
 
Delphi 7 Personal
 
#1

Replay-Funktion in einem Spiel?

  Alt 23. Okt 2007, 10:43
Morgen,

ich versuche gerade eine Replay-Funktion in ein Spiel einzubauen. Das mache ich so, dass ich in einem Timer Screenshots von einem Bereich des Screens mache und diese wiederum in einem Timer "abspiele". Mit dem Ergebnis bin ich sehr unzufrieden, weil wenn die Form verdeckt ist, das überdeckende Fenster gespeichert wird und überhaupt kommt' mir diese Lösung sehr wackelig vor.

Hat jemand bessere Ideen eine Replay-Funktion in ein Spiel einzubauen?

Hier ma' die Screenshot-Funktion:
Delphi-Quellcode:
function CaptureScreenRect( ARect: TRect ): TBitmap;
var
  ScreenDC: HDC;
begin
  Result := TBitmap.Create;
  with Result, ARect do
  begin
    Width := Right - Left;
    Height := Bottom - Top;
    ScreenDC := GetDC( 0 );
    try
      BitBlt( Canvas.Handle, 0, 0, Width, Height, ScreenDC,
        Left, Top, SRCCOPY );
    finally
      ReleaseDC( 0, ScreenDC );
    end;
  end;
result.SaveToFile(ExtractFilePath(Paramstr(0))+'replay\'+'Shot'+inttostr(nr)+'.bmp');
nr:=nr+1; // <-- eine globale Variable
result.Free;
end;
Gruß

Calculon
--
  Mit Zitat antworten Zitat