Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: mit DrawGrid einen Level Editor ?

  Alt 12. Mär 2005, 14:50
Mal ein Beispiel, du kannst es natürlich auch anders handhaben:

1. Du lädst alle verschiedenen Teile in Bitmaps (WaterBmp, GrassBmp, ...)
2. Du speicherst den Typ jedes Teils in einem Array mit denselben Dimensionen wie dein DrawGrid (Feld: Array[0..5,0..5] of TKind)
3. Du lädst im OnDrawCell das jeweilige Bitmap:
Delphi-Quellcode:
const
  Hoehe = 32; // Größe eines Teiles
  Breite = 32;

[...]

procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var WaterBmp: TBitmap;
begin
  case Feld[ACol,ARow] of
    Grass: DrawGrid1.Canvas.Draw(ACol*Breite,ARow*Hoehe,GrassBmp);
    Water: [...]
  end;
end;
[edit] Oder auch:
Grass: DrawGrid1.Canvas.Draw(Rect.Left,Rect.Top,GrassBmp);
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat