![]() |
Leveleditor in Delphi
Das Problem ist :?: , dass ich nicht weiss :gruebel: , wie man einen Leveleditor macht, bzw. in ein Spiel einbindet. Habe schon einige Sachen probiert, aber es funkt nicht :wall: . Wäre sehr nützlich, wenn ich ein paar Tipps oder Internetadressen bekommen würde. Arbeite mit DelphiX und 2D.
Also ein ganz einfacher Lvleditor. Danke :zwinker: , euer ISAS :coder: |
Re: Leveleditor in Delphi
nunja, ich denke, da kommt es ganz auf das Spiel drauf an...wie die Levels aufgebaut sind etc..
|
Re: Leveleditor in Delphi
Oo die frage hatte ich auch mal gestellt. Ich werde das Thema
mal mitverfolgen. Ich in meinem Fall progge das Spiel (jump'n run mit delphix) ich verwende 32px x 32px große blöcke(bilder) wie mache ich jetzt am leichtesten einen Level Editor? |
Re: Leveleditor in Delphi
Ich habe mir mal ein Grundgerüst für solche Leveleditoren gemacht, das für solche Level, die rasterartig aufgebaut sind.
Da habe ich ein TDrawGrid genommen und da kann man dann schön reinzeichnen...funzt ganz gut! Da hab ich nämlich gleich von vornerein die ganzen sachen... |
Re: Leveleditor in Delphi
Aber Drawgrind funzt net mit DelphiX oder?
|
Re: Leveleditor in Delphi
ne, da musst du dir halt ein dateiformat basteln und das dann in das spiel integrieren, laden und entspechend zeichnen.
mache ich auch so wenn ich mit delphiX was progge.. |
Re: Leveleditor in Delphi
Und wie genau funktioniert das mit dem Dateien
format basteln laden und speichern? Bin ein bissl sehr unwissend was das angeht. |
Re: Leveleditor in Delphi
Bin erst jetzt wieder on gegeangen.
Wies aussieht, ist das Programmieren eines Lvleditors ein heisses Thema :firejump: . Wäre schön, wenn auch Antworten kommen könnten. Nicht nur für mich, sondern für alle hier :cheers: . PS: Mein Gedanke ist gewesen, dass ich ein Gitternetz (moveto und lineto) mit FOR-Schleifen erstelle und dann (schwer zu erklären)... Dass es sich halt irgendwie einrastet. Aber es funkt nicht und wie ich das ins Spiel einbinde, weiss ich auch nicht. |
Re: Leveleditor in Delphi
Naja, du hast z.B. ein Raster von 10x10 Feldern, das ist dein Level.
Mit dem Leveleditor gibts du jetzt jedem der Felder einen best. Typ, also 0 z.B. für nichts, 1 für eine Mauer, 2 für wasser etc. Am Ende speicherst du das dann alles in eine Datei, und zwar feld für feld, z.B. so 010100, auseinandergezogen: 00 (1. feld von links), 00 (oberstes feld) 00 (typ=0=nix) 010201, ... 010201, .... usw. das dann entsprechend laden, muss leider gehen, sorry sonst würde ich mehr schreiben... |
Re: Leveleditor in Delphi
versteh ich nicht. :cry:
Wie bekomme ich den so ein Raster überhaupt hin? |
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:41 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