Landkarte mit Slick2D

Dramago

Mitglied
Guten Abend,

ich bin gerade dabei ein Strategiespiel mit Slick2D (+ LWJGL) zu programmieren.
Es basiert auf GameStates usw. Das Menü habe ich fertig, jetzt geht es darum, eine Landkarte darzustellen. Diese enthält verschiedene Regionen, die bei Mausinteraktion verschiedene Funktionalitäten haben.
Mein Problem ist jetzt, wie ich diese Karte programmieren soll. Also auch wie man sie am geschicktesten einlesen kann. Ist es möglich wenn ich die ganze Karte als Bild habe sie regionenweise einzulesen um die Regionen in Klassen zu packen, die dann Polygone enthalten um den Umriss darzustellen.
Oder muss ich jede Region einzeln als Bild einlesen, und wenn ja, wie kann ich die Regionen dann "Grenze-an-Grenze" wieder anzeigen?
Kann ich vielleicht eine Region auf einer großen Karte durch unterschiedliche Farben kennzeichnen und so einlesen?

Hat jemand einen Tipp für mich? Vielen Dank :)

Grüße
Dramago
 

player337

Mitglied
Hi Dramago,
soll den die Karte 2D oder 3d eingelesen werden?
Wenn 2D, dann würde ich für jede Region ein Bild(Textur) einlesen.

Gruss aus Liechtenstein!
 

Dramago

Mitglied
Die Karte soll 2D sein.
Okay, und wenn ich jetzt für jede Region den Umriss mit schwarzen Pixeln auf je einem Bild habe, kann ich das natürlich als Polygon einlesen, aber wie mach ich es, dass die Eckpunkte in der richtigen Reihenfolge eingelesen werden, damit auch das richtige Polygon rauskommt?
Und wie kann ich dann alle Regionen auf dem Bildschirm zusammensetzen, denn die Polygone der Regionen haben ja alle Koordinaten, die relativ eigenen Bild sind, aber ich brauch ja die absoluten Bildschirmkoordinaten.
 

player337

Mitglied
Hi Dramago,
lese doch eine XML-Datei ein. z.B.:
Code:
<Karte>
     <Europa>
          <Deutschland>
               <Berlin>
                    <V1 x="10" y="53"/> //Vertex 1
                    <V2 x="65" y="146"/> //Vertex 2
                    <V3 x="282" y="7"/> //Vertex 3
                    ...
               </Berlin>
         </Deutschland>
     </Europa>
<Karte>
Viel spass! ;)
 

Dramago

Mitglied
Danke, aber dafür müsste ich ja auch erstmal die Knoten rausfinden.
Ich hab mir mittlerweile auch einen Algorithmus überlegt, mit dem ich die Grenze auf dem Bild in ein Polygon verwandeln kann. Und es funktioniert sogar :D
 

Ähnliche Java Themen


Oben