Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Leveleditor in Delphi (https://www.delphipraxis.net/10231-leveleditor-delphi.html)

ISAS 14. Okt 2003 14:00


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:

Florian H 14. Okt 2003 14:09

Re: Leveleditor in Delphi
 
nunja, ich denke, da kommt es ganz auf das Spiel drauf an...wie die Levels aufgebaut sind etc..

citybreaker 14. Okt 2003 17:02

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?

Florian H 14. Okt 2003 17:20

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...

citybreaker 14. Okt 2003 17:23

Re: Leveleditor in Delphi
 
Aber Drawgrind funzt net mit DelphiX oder?

Florian H 14. Okt 2003 17:27

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..

citybreaker 14. Okt 2003 17:31

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.

ISAS 14. Okt 2003 17:31

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.

Florian H 14. Okt 2003 17:39

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...

citybreaker 14. Okt 2003 17:52

Re: Leveleditor in Delphi
 
versteh ich nicht. :cry:
Wie bekomme ich den so ein Raster überhaupt hin?

Florian H 14. Okt 2003 17:57

Re: Leveleditor in Delphi
 
Da bruachst du ein array...
normalerweise reicht ein sowas
Code:
level : array[0..10,0..10] of integer;
Und da kannst du dann im Editor alles reinspeichern (level[0,0] := 1)und im Spiel dann laden und den Level entsprechend zeichnen.

H4ndy 14. Okt 2003 17:57

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

Florian H 14. Okt 2003 18:37

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:

citybreaker 14. Okt 2003 18:45

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)

Florian H 14. Okt 2003 18:50

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!

citybreaker 14. Okt 2003 18:58

Re: Leveleditor in Delphi
 
Ich glaub ich lass es einfach. Ich versteh das net vom Aufbau angefangen
bis zum laden. :cry:

H4ndy 14. Okt 2003 20:45

Re: Leveleditor in Delphi
 
Wenn ichs mit meiner TileEngine hinbekomm
kann ich dir dann bestimmt weiterhelfen.

Man liest sich bestimmt :)

ISAS 15. Okt 2003 12:12

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:

H4ndy 15. Okt 2003 20:47

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 03:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz