Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

10.09.2007, 12:50

Problem beim implementieren eines Levels

Hallo,

ich bin noch recht neu in der Spieleprogrammierung und habe bis jetzt nur einen Tetris Clone programmiert, nun will ich ein kleines Jump'n'Run Spiel programmieren. Das problem das ich habe ist, ich weiß einfach nicht wie ich den Level verwalten soll.

Ich habe mir überlegt das ganze in einer Datei zu speichern und da für jeden punkt auf dem Level zu speichern mit Koordinaten, ob da ein Hinderniss oder Block ist und welches Bild das ganze anzeigen soll.
Also etwa in der Form:
0, 0, 1, "x.bmp"
0, 1, 0, ""
1, 0, 1, "y.bmp"
1, 1, 0, ""
usw...


Jetzt ist die Frage ist das ein guter weg oder gibt es da sinnvollere Ansätze?

Viel Dank schonmal

Mfg

Ronny

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

10.09.2007, 13:00

Die Grundidee ist schonmal ganz gut. Ist halt sehr simpel das ganze. Du könntest auch für jede Koordinate einen Index angeben der in eine Tabelle von Tiles zeigt. In etwa so:

C-/C++-Quelltext

1
2
3
4
5
6
7
Tileset "/tiles.tga" 
Width 10
Height 3

2 3 4 2 2 2 2 3 5 2
2 4 0 0 3 0 0 0 0 2
2 2 2 2 0 3 0 4 0 5


Die Textur ist dann ein Tileset das viele Tiles einer bestimmten Größe (z.B. 32x32) beinhaltet. Und jedes Feld kann dann eines dieser Tiles über einen Index zugewiesen werden.

Das ganze lässt sich noch sehr sehr verfeinern. Aber für einen Anfänger ist das wohl eher unangebracht da verwirrend.
@D13_Dreinig

3

10.09.2007, 13:09

danke für die schnelle antwort, wenn ich das richtig verstanden habe steht dann z.B. die 2 für einen stein, die 3 für gras und die 0 für nichts?

Im Code muss ich dann nur festlgegen für was die einzelnen Zahlen stehen!?

Das wäre dann natürlich einfacher als die Idee von mir ;)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

10.09.2007, 13:22

Die 0 steht fürt das erste Tile in deinem Tileset, die zwei für das Zweite usw... Dann kannst du durch einfaches austauschen des Tilesets ein komplettes Level anders erscheinen lassen! ;)
@D13_Dreinig

5

10.09.2007, 13:41

achso, jetzt hab ich das erst richtig geschnallt ;)

thx für die Hilfe, das werde ich dann so mal ausprobieren :)

Werbeanzeige