Spielfeld mit unförmigen Objekten anklickbar machen?

sod187

Mitglied
Hallo liebes Forum ;),

Ich bin seit einer Weile dabei Java zu lernen, es ist meine erste Programmiersprache.
Um etwas zu lernen bzw um zu üben würde ich gerne (Brett-) Spiele nachprogrammieren.
Bei Monopoly ist mir das auch einigermasen gelungen, da es dort nur schön rechteckige Spielfelder gibt.
Jetzt würde ich jedoch gerne Die Siedler und Risiko versuchen, scheitere jedoch schon an der Grundidee zum Layout.
Beispiel Risiko:
Wie schaffe ich es eine Karte zu erzeugen, auf der ich alle Länder anklicken kann?
Mein erster Gedanke war die Karte als ein großes Bild zu nehmen und dann mit den Koordinaten der Maus das Land zu bestimmen. Aber das ist wohl eine extrem umständliche und zeitaufwändige Methode schätze ich.

Ich würde also gerne jedes Land als eigenes Objekt implementieren, mit dem dazugehörigen Bild.
Jetzt bin ich jedoch ratlos, wie ich die Länder dann anklickbar machen soll, da ich nur weiß, wie man recheckige Komponenten in Java erstellt.
Ich würde pngs oder gifs mit transparentem Hintergrund nehmen, aber der würde ja dann die anderen Länder teilweise überdecken.
Gibt es eine Möglichkeit in Java bei einem Klick transparente Flächen zu ignorieren?
Bzw. was wäre denn der eleganteste Lösungsansatz für mein Problem bzw wie wird so etwas im Normalfall gemacht?

danke für eure Hilfe

mfg
sod187
 

Marco13

Top Contributor
Eine Möglichkeit ist, ein Bild (BufferedImage) zu verwenden, wo die Länder mit unterschiedlichen Farben reingemalt sind, und anhand der Farbe and der angeklickten Position auf das Land zu schließen. (Das Bild muss dabei NICHT das Bild sein, das auch gezeichnet wird)
 

sod187

Mitglied
Danke für die schnelle Antwort.

Also wenn ich es richtig verstanden habe benutze ich zwei Bilder, einmal das Bild (1), dass der Spieler sehen soll und ein Bild (2), in dem alles unterschiedlich gefärbt ist.
wenn nun der Spieler auf das Bild klickt nehm ich die Koordinaten aus (1) schau welche farbe diese Koordinaten auf (2) haben und schließe dadurch auf das Spielfeld/Land ?

mfg

sod187
 

Marco13

Top Contributor
Joa, die Koordinaten würden zwar nicht aus dem Bild ("(1)") kommen, sondern eher von dem MouseListener, der an der Component hängt, die das Bild anzeigt, aber vom Ansatz her war's so gemeint. Musst halt überlegen, ob das für dich passt (d.h. ob dein Spielfeld immer eine Feste Größe hat und so...). Eine Alternative wäre, die Ränder aller Länder als Polygone zu speichern, und dann zu überprüfen, ob der Mausklick im Polygon liegt (polygon.contains(..)).
 

sod187

Mitglied
Hm, bei Risiko wäre die Lösung mit zwei Bildern wohl recht einfach denke ich.
Bei die Siedler könnte ich es mal mit Polygonen versuchen, denn ist das spielfeld ja veränderbar.
Danke für deine Hilfe

mfg
sod187
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H LayoutManager RPG Programmieren, eigenes Spielfeld grafisch generieren aus Tileset AWT, Swing, JavaFX & SWT 18
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
Viktim Array Spielfeld wird in GUI gedreht AWT, Swing, JavaFX & SWT 5
D Swing Spielfeld drehen von Pentago endet in einer Katastrophe AWT, Swing, JavaFX & SWT 2
P Spielfeld AWT, Swing, JavaFX & SWT 2
C Swing Info-Ebene überdeckt Spielfeld-Ebene komplett AWT, Swing, JavaFX & SWT 5
C Spielfeld Gitter - Einzelne Zellen verändern AWT, Swing, JavaFX & SWT 18
T Spielfeld erstellen AWT, Swing, JavaFX & SWT 15
J Ansicht wechseln zw. Spielfeld und Optionen AWT, Swing, JavaFX & SWT 3
C Spielfeld Editor AWT, Swing, JavaFX & SWT 4
B Ein Spielfeld zeichnen AWT, Swing, JavaFX & SWT 7
Y Spielfeld mit paintComponent oder doch lieber anders? AWT, Swing, JavaFX & SWT 8
G Spielfeld für ein Spiel erstellen, wie am besten? AWT, Swing, JavaFX & SWT 4
Encera ArrayList mit eigenen Objekten in JavaFX sortieren und ausgeben AWT, Swing, JavaFX & SWT 50
ExceptionOfExpectation MouseListener-Objekte zu den Graphics-Objekten einfügen AWT, Swing, JavaFX & SWT 3
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
J Drag and Drop von eigenen Objekten AWT, Swing, JavaFX & SWT 3
I Umgang mit vielen Objekten AWT, Swing, JavaFX & SWT 3
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
perlenfischer1984 JavaFX : JTreeView mit verschieden Objekten AWT, Swing, JavaFX & SWT 0
M Java FX Dreidimensionale Anordnung von Objekten AWT, Swing, JavaFX & SWT 4
P Swing Validieren von deserializierten Objekten AWT, Swing, JavaFX & SWT 2
P Vorteile von Tooltip nutzen (wird über allen anderen Objekten angezeigt) AWT, Swing, JavaFX & SWT 3
I Paint-Methode von nicht statischen Objekten aufrufen AWT, Swing, JavaFX & SWT 3
G JavaFX Binding von Objekten AWT, Swing, JavaFX & SWT 4
P Swing JList mit Objekten - Name anzeigen AWT, Swing, JavaFX & SWT 5
J Mit mehreren in Objekten in JFrame printen? AWT, Swing, JavaFX & SWT 8
D animierte kameraansicht zwischen gezeichneten objekten AWT, Swing, JavaFX & SWT 4
1 Liste mit Objekten Füllen AWT, Swing, JavaFX & SWT 7
M JList mit 2-zeiligen Objekten füllen AWT, Swing, JavaFX & SWT 7
M Verschwinden von gezeichneten Objekten nach Fensterverkleinerung AWT, Swing, JavaFX & SWT 3
B Swing Laden von serialisierten Objekten (invalid type code AC)) AWT, Swing, JavaFX & SWT 3
C Swing Drag and Drop mit Objekten in einem Fenster. AWT, Swing, JavaFX & SWT 9
M PropertyChangeListener - JTable bei neuen Objekten updaten? AWT, Swing, JavaFX & SWT 3
M JTable Sortierung - -zeilenweise mit Objekten verknüpfen AWT, Swing, JavaFX & SWT 4
X JTable mit verschiedenen Objekten füllen AWT, Swing, JavaFX & SWT 14
S AWT Pong - Probleme mit übergreifenden Objekten && Graphics2D AWT, Swing, JavaFX & SWT 3
T Sichtbarmachen von Objekten auf mehreren JPanels AWT, Swing, JavaFX & SWT 2
W setEnabled in Container Objekten (JScrollPane) AWT, Swing, JavaFX & SWT 5
Q Dynamische Zahl und Positionierung von Objekten AWT, Swing, JavaFX & SWT 5
L JPanel mit Objekten selektieren wie unter Windows / Ubuntu AWT, Swing, JavaFX & SWT 4
T Swing KeyListener mit mehreren Objekten AWT, Swing, JavaFX & SWT 2
P JTable:Sortierung nach der Zeit/Spalte mit Calendar-Objekten AWT, Swing, JavaFX & SWT 2
M Probleme beim Hinzufügen von Objekten zu getContentPane() AWT, Swing, JavaFX & SWT 2
T Drag&Drop mit Objekten! Grundsätzlich. AWT, Swing, JavaFX & SWT 3
C Positionieren von Objekten AWT, Swing, JavaFX & SWT 11
T Gleichzeitiges Steuern von 2 Objekten über Tastatur AWT, Swing, JavaFX & SWT 8
I Größe von Swing-Objekten ändern AWT, Swing, JavaFX & SWT 13
A Attribute von Objekten in JTable-Zeilen anzeigen AWT, Swing, JavaFX & SWT 2
S JTree mit eigenen Objekten füllen AWT, Swing, JavaFX & SWT 4
S Problemen mit Canvas-Objekten im GridLayout AWT, Swing, JavaFX & SWT 8
N JPanels von Objekten AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben