geht jetzt übrigens, vielen Dank
Habs auch wieder hinbekommen, dass das Programm die map aus der Datei ausliest
nur noch eine Frage... wie mach ich das jetzt wenn ich mit verschiedenen Layern arbeiten will? wie gestalte ich dann die map Datei?
Gitternetz im Spiel (unterteilen)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
du kannst in das Array eine Structure packen,
und die werte dann hintereinander in der datei haben:
das ist eine möglichkeit....
die andere wäre, die verschiedenen layer in dasselbe long zu packen...
du wirst kaum mehr als 1byte pro layer brauchen, und ein Long hat 4 byte...
also kannst du mit bitweisem AND in dem fall 4 layer in einem Long ansprechen...
aber das mit den layern würd ich vorerst mal bleiben lassen,
mach für den anfang mal eher was grundlegenderes...
z.b. ein Labyrinth, wo die spielfigur manche Tiles nicht betreten kann (wand)
das ist als einstieg besser geeignet...
und die werte dann hintereinander in der datei haben:
Code: Alles auswählen
Structure MapTile
Layer1.l
Layer2.l
EndStructure
Dim Map.MapTile(255,255)
...
Procedure LoadMap()
..... ; Schleife
Map(n,t)\Layer1 = ReadLong()
Map(n,t)\Layer2 = ReadLong()
die andere wäre, die verschiedenen layer in dasselbe long zu packen...
du wirst kaum mehr als 1byte pro layer brauchen, und ein Long hat 4 byte...
also kannst du mit bitweisem AND in dem fall 4 layer in einem Long ansprechen...
aber das mit den layern würd ich vorerst mal bleiben lassen,
mach für den anfang mal eher was grundlegenderes...
z.b. ein Labyrinth, wo die spielfigur manche Tiles nicht betreten kann (wand)
das ist als einstieg besser geeignet...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Rubiko
- Beiträge: 943
- Registriert: 25.02.2005 19:43
- Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti - Wohnort: Schwabach
ok, hab mir schon Gedanken drüber gemacht, nur ein Problem hab ich:
wie krieg ich die Spielfigur immer in die Mitte der Tiles? Und... ich muss es auch irgendwie schaffen, dass die Figur (egal mit welcher Geschwindigkeit) immer zum nächsten Tile läuft und nicht zwischen zwei Tiles stehenbleibt...
muss ich noch überlegen...
Am besten wärs mit ner For-Schleife , denke ich aber ich da komm ich wieder auf mein Problem zurück, wie ich immer die Mitte rausfinde... wäre ja dann:
[Pseudo-code]:
Außerdem hab ich noch ein Problem:
z.B hat ein Spieler, der so ein Spiel in der Auflösung 1024x768 spielen würde, mehr Vorteile als der, der 640x480 spielt, weil er viel mehr im Auge hat... bei OpenWindowedScreen() gibt's ja keine Probleme, da gibts autostretch... aber wie ist das beim Vollbildmodus?
ich muss die nicht immer per Hand resizen oder?
So, für die Kollision hab ich mir das überlegt:
Es gibt eine Variable die NextTile heißt... und beim Schritt nach rechts/unten/links/oben wird ein bestimmter Wert aufaddiert/subtrahiert, wenn es ne Kollision mit ner Wand gibt dann ist NextTile der Aktuelle Tile auf dem der Spieler steht... naja bisschen blöd erklärt^^
aber wär bestimmt keine gute Methode...
Gäbe ja dann noch das mti der Bounding-Box, die ist bestimmt besser, aber keine Ahnung wie ich das realisieren soll...
Danke im Vorraus
// Rubiko
P.S..: ich will mit meinen posting keine kompletten codes... ich will nur Denkanstöße
wie krieg ich die Spielfigur immer in die Mitte der Tiles? Und... ich muss es auch irgendwie schaffen, dass die Figur (egal mit welcher Geschwindigkeit) immer zum nächsten Tile läuft und nicht zwischen zwei Tiles stehenbleibt...
muss ich noch überlegen...
Am besten wärs mit ner For-Schleife , denke ich aber ich da komm ich wieder auf mein Problem zurück, wie ich immer die Mitte rausfinde... wäre ja dann:
[Pseudo-code]:
Code: Alles auswählen
; ....
For PlayerX to MittedesnächstenTiles
PlayerX + 1
Next
; ....
Außerdem hab ich noch ein Problem:
z.B hat ein Spieler, der so ein Spiel in der Auflösung 1024x768 spielen würde, mehr Vorteile als der, der 640x480 spielt, weil er viel mehr im Auge hat... bei OpenWindowedScreen() gibt's ja keine Probleme, da gibts autostretch... aber wie ist das beim Vollbildmodus?
ich muss die nicht immer per Hand resizen oder?
So, für die Kollision hab ich mir das überlegt:
Es gibt eine Variable die NextTile heißt... und beim Schritt nach rechts/unten/links/oben wird ein bestimmter Wert aufaddiert/subtrahiert, wenn es ne Kollision mit ner Wand gibt dann ist NextTile der Aktuelle Tile auf dem der Spieler steht... naja bisschen blöd erklärt^^
aber wär bestimmt keine gute Methode...
Gäbe ja dann noch das mti der Bounding-Box, die ist bestimmt besser, aber keine Ahnung wie ich das realisieren soll...
Danke im Vorraus
// Rubiko
P.S..: ich will mit meinen posting keine kompletten codes... ich will nur Denkanstöße
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.