![]() |
Re: Leveleditor in Delphi
Da bruachst du ein array...
normalerweise reicht ein sowas
Code:
Und da kannst du dann im Editor alles reinspeichern (level[0,0] := 1)und im Spiel dann laden und den Level entsprechend zeichnen.
level : array[0..10,0..10] of integer;
|
Re: Leveleditor in Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm bei mir ist es genau umgedreht - ich
hab noch null Ahnung wie ich meine TileEngine anfangen soll :| Mein Leveleditor ist schon ziemlich fortgeschritten. Ich hab meinerseits auf die "Spiel-Grafik" verzichtet und per klickbaren Images (ich weiss, unsauber) versucht ein Raster aufzubauen. Das Dateiformat hab ich mir schon ausgedacht und sieht so aus:
Code:
--
Chosen Victim Map | ver 0.5 | 32
42121141234222244241422412211313 13243214224433342144432431223332 41434223114232134214134421244413 *** 21212132422324411124112434432242 34343411231241224432323443433443 22243342312313441233411243433442 [T]Editor (TileSet) [N]Dungeon (Name) [A]H4ndy (Author) [C]Tha duN630n (Beschreibung) also: Kopf (Name, Version, Mapgröße) Map-Daten (Musst schauen wie du das machst - bei mir sind die Zahlen für das entsprechende TileImage) Und am Ende Zusatzinfos (z.b. Author, Gegnerinfos, Items etc) Und diese infos musst du eben nur noch in deiner TileEngine durcharbeiten und darstellen... Aso: Speichern tu ich die Map-Daten ein einem zweidimensionalen Array im Editor und das wird dann einfach mit zwei for-schleifen durchlaufen |
Re: Leveleditor in Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Nungut, ich habe einfach mal den Source von einem der Leveleditoren von mir angehängt.
Der ist jetzt soweit ich mich erinnere technisch nicht ganz einwandfrei (x und y überall vertauscht), funktioniert aber einwandfrei. Übrigens basiert der noch auf INI-Dateien, das ist nicht so toll, ich würde euch raten, die entweder mit typisierten Dateien zu speichern oder (so mache ich es) die werte in eine StringList eintragen (s.O.) und die dann speichern. Ist schneller und schöner :stupid: Wer den Editor unbedingt 1:1 übernehmen will, soll dann bitte nicht das (c) vergessen :roll: :warn: |
Re: Leveleditor in Delphi
1:1 lieber nicht. Mit DelphiX ist es ja leider nicht kompatible, oder
etwa doch? Nun ja klappt der Source leider nicht. (Delphi3) |
Re: Leveleditor in Delphi
hm ich weiß ja nicht wie du DelphiX programmierst, aber normalerweise kannst du doch in deinem Spiel auch so ein array machen und entsprechend die Level zeichnen bzw. kollisionsabfragen oder sonstwas machen.
Ist ja das praktische, ich nutze den Leveleditor seit Jahren, mit normalen Grafikdarstellungen und mit DelphiX! |
Re: Leveleditor in Delphi
Ich glaub ich lass es einfach. Ich versteh das net vom Aufbau angefangen
bis zum laden. :cry: |
Re: Leveleditor in Delphi
Wenn ichs mit meiner TileEngine hinbekomm
kann ich dir dann bestimmt weiterhelfen. Man liest sich bestimmt :) |
Re: Leveleditor in Delphi
Komm da nicht richtig mit. :gruebel:
Also, mein Quelltext ist dieser (vereinfacht): var Raster : Array [0..9,0..9] of Integer; i, j:integer; procedure TForm1.Button1Click(Sender: TObject); begin For i:=0 to 9 do For j:=0 to 9 do Raster[i,j]:=i*j; end; end. Ich weiss, dass das mit Raster[i,j]:=i*j nicht stimmt. Aber was muss ich da sonst eingeben :?: ?? Raster[j,j]:=1 ???? Und wie kann ich die Bilder dann als Zahl definieren?? Hab überhaupt keinen Durchblick und komm deswegen nicht weiter. :wall: |
Re: Leveleditor in Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Wies aussieht wird hier noch ein bischen Nachhilfe gebraucht :)
Nach längerem überlegen hab ich mich entschieden auch den Quellcode meines Editors freizugeben. Zur Warnung: Mein Programmierstil ist nicht der beste und nicht der sauberste. Bei mir gehts eher danach, dass es funktioniert ^^ Das sieht man vorallem an dem ersten Versuch der Mini-Map (per PaintBox). Zum speichern und laden wird TStrings (bzw TStringList) verwendet sowie laden von externen Bitmaps als TileSet. Ich hoffe ihr könnt ihn gebrauchen und damit eigene Editoren entwickeln oder meinen umschreiben ( bitte mich dann auch in den Credits erwähnen :) ) viel Spaß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 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