Einzelnen Beitrag anzeigen

Cöster

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

Re: Jump and Run! need help !

  Alt 1. Dez 2006, 20:33
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.
  Mit Zitat antworten Zitat