Isometrische Tiles mit unterschiedlicher Größe an korrekter Position zeichnen

Eichelhäer

Bekanntes Mitglied
Hallo mal wieder,

diesmal ist es keine Verzweiflungsfrage aber dennoch eine Frage, denn grundsätzlich funktioniert was ich gerade mache.

Also, wie sich bereits im Titel meines Themas erahnen lässt geht es um isometrische-kachelbasierte-Karten für ein Spiel. Das Laden und anzeigen der Kacheln funktioniert bestens.
Ich verwende den Tiled-Editor und dessen Kachelebenenfunktion, um Karten zu erstellen.
Nun habe ich ein Tileset in dem die kleinste Kachel als eine Einheit 64x32 Pixel groß ist, während z.B. eine Baumkachel aus 8 kleinen Kacheln besteht, aber eigentlich als eine Kachel betrachtet und verwendet werden kann.

Meine Frage ist nun folgende:

Was ist besser:
1. Größere Kacheln als eine Einheit zu verwenden und per Hand die Position für jede beliebige größere Kachel im Code anzugeben, oder
2. Größere Kacheln als beispielsweise 8 kleine Kacheln zusammenzusetzen, die allerdings 8 verschiedene TileIDs haben und wahrscheinlich einzeln geladen werden müssen( wobei das das geringere Problem ist, denn ich habe eine Methode mit der ich über ein beliebiges Spritesheet iterieren kann).



Warum ich frage ist hoffentlich klar, es geht natürlich um den Arbeitsaufwand, denn ich habe nicht wirklich Lust darauf wochenlang dazusitzen und TileIDs éinzeln abzufragen oder richtig viele Bilder zu laden mit jeweils unterschiedlichen Positionen und Größenangaben, denn allein ne größere Karte in Tiled zu basteln ist schon echt viel Arbeit.
Dazu kommt natürlich noch eine Kollisionsprüfung. Hier bin ich auch noch unschlüssig, denn mit einer Pixelgenauen Kollision brauche ich auch pro Objekt die BoundingBox Koordinaten, denn ich möchte ja nicht mit einer Baumkrone kollidieren, denn fliegen soll der Spieler hier nicht können und mit einem boolean-Array für betretbare und nicht betretbare Tiles kann es zu Kollisionsungenauigkeiten kommen, die das Spielerlebnis negativ beeinflussen, also damit meine ich, das ich nicht schon 10 Meter vor einer Tür diese aufmache, sondern eben c.a. 1 Meter vor eben dieser, denn Menschen mit 10 Metern Armlänge sind eher selten. (außer natürlich Dahlsim aus Streetfighter2 :D).

Bisher habe ich mit relativ wenig Code die Isometrische Karte generieren können und so soll es auch bleiben auch wenn ich vermute, dass es dabei wahrscheinlich nicht bleiben wird.

Gruß Eichelhaer
 

Ähnliche Java Themen

Neue Themen


Oben