![]() |
mit DrawGrid einen Level Editor ? [Neues Prob]
Hallo,
Also ich will einen LevelEdi proggen, nur weiß ich nicht wie ich anfangen soll. Mir kam die DrawGrid Kompo in den Sinn, nur hab ich leider kP wie ich in die Zellen nen Tile Setze. Also, falls ihr Beispiel Codes oder irgendeine Idee zur Umsetzung eines LevelEdis mit der DrawGrid Kompo habt, bitte ich um eure Posts. Danke schonmal für eure Bemühungen. |
Re: mit DrawGrid einen Level Editor ?
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:
[edit] Oder auch:
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;
Delphi-Quellcode:
Grass: DrawGrid1.Canvas.Draw(Rect.Left,Rect.Top,GrassBmp);
|
Re: mit DrawGrid einen Level Editor ?
Irgendwie werde ich aus dem Code nicht schlau... könntest du dazu vll ein bespielprog mit comments anhängen?, dafür währe ich dir sehr dankbar.
|
Re: mit DrawGrid einen Level Editor ?
Zitat:
Du zeichnest jedes Feld einzeln udn gibst dabei an, ob es Gras, wasser, stein oder sonstwas ist. jenachdem, was es ist, zeichnest du halt was anderes. so bekommst dann dein level air |
Re: mit DrawGrid einen Level Editor ?
Liste der Anhänge anzeigen (Anzahl: 1)
Da es immer noch nicht klar ist, hier mal ein Beispiel (mit zwei verschiedenen Feldern):
|
Re: mit DrawGrid einen Level Editor ?
Da ich anhand des Beispiels jetzt einen Editor geproggt habe (naja, bisher kann man nur nen Tileset laden und ein augewähltes Tile auf die Map setzen), steht ich vor einem neuen Prob, welches ich irgendwie nicht gelöst bekomme. Also: Wenn ich ein Tile auswähle, dies geschieht bei einem Klick auf die TImage Komponente die das Tileset beinhaltet, und auf die Map klicke, dann kann ich zunächst ganz normal ein Tile setzen.
Aber wenn ich ein neues Tile aus dem Tileset wähle und dann irgendwo auf die Map klicke, dann wird die Stelle die ich anklicke mit dem Tile besetzt UND AUCH die Stelle die vorher ausgwählt war. Um das ganze ein wenig zu verdeutlichen habe ich auch 2 Screenshots zu meinem Problem im Anhang. Mein Problem ist genauer beschrieben auf Bild2 zu sehen. EDIT: Hab jetzt mal den Source in den Anhang geschmissen, vll gehts damit besser *g*. EDIT 2: alles ausm Anhang rausgenommen, Problem hat sich erledigt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz