Ich meinte nicht die Graphik-Tutorials, sondern die zur Objektorientierung. Wenn du damit noch keine Erfahrung hast, kannst du
hier oder
hier lesen, wie das geht.
So könnte eine Klasse TFigur aussehen:
Delphi-Quellcode:
TFigur = class
private
FLeft: Integer;
FTop: Integer;
FWidth: Integer;
FHeight: Integer;
FXSpeed: Integer;
FYSpeed: Integer;
FBitmap: TBitmap;
{ ... }
public
function IstAufDemBoden(const Map: TCanvas): Boolean; // Map ist die Schwarz-Weiß-Karte
property YSpeed: Integer read FYSpeed write FYSpeed;
{ ... }
end;
implementation
function TFigur.IstAufDemBoden(const Map: TCanvas): Boolean;
var
Randposition: Integer;
begin
Result := False;
for Randposition := 0 to FWidth do
if Map.Pixels[FLeft + Randposition, FTop + FHeight] = clBlack then
begin
Result := True;
Exit;
end;
end;
{ ... }
In der Haupt-
Unit schreibst du dann im FormKeyDown:
Delphi-Quellcode:
if Key = VK_SPACE then
if Figur.IstAufDemBoden(ImSchwarzWeiss.Canvas) then
Figur.YSpeed := -20;
Und im Timer-Aufruf:
Delphi-Quellcode:
if Figur.IstAufDemBoden then
FYSpeed := 0
else
FYSpeed := FYSpeed + 3;
Wenn du noch fragen hast, sag Bescheid.