Hallo Leute,
wie ihr sicher schon seht bin ich ganz frisch hier und freue mich sehr ein Mitglied von diesem Forum geworden zu sein.
Ich habe derzeit ein Projekt (Strategiespiel programmieren) am laufen und bin für die GUI-Programmierung zuständig. Ich habe wirklich ohne Ende gegoogelt aber nichts passendes gefunden, falls ich mich täuschen sollte, möchte ich mich hierfür entschuldigen und lasst es mich einfach wissen. Ich hoffe auch, dass ich euch nicht mit falschen Sachen zumülle und meine Frage hier passend ist.
Nun zu meinem Problem: Es geht darum, dass ich eine Landkarte programmieren will und auf den jeweiligen Ländern verschiedene Funktionen implementieren (z.B. wenn man mit der Maus drüberfährt oder das jeweilige Land anklickt). Bei der Programmierung die Karte als Bild einzufügen ist ja überhaupt kein Problem, mein Problem besteht nur darin, wie ich es ermöglichen kann, dass hinter allen Ländern eine Funktion steckt (Ich weiß dass man hier mit ActionListener etc. arbeiten kann). Wäre es beispielsweise ein Spiel wie Schach, dann könnte man lauter Quadrate anordnen und hinter diesen evtl. Buttons verstecken, um hinter diesen Feldern bestimmte Funktionen zu implementieren (Ist ja alles schön symmetrisch und parallel). Aber wenn ich nun eine Landkarte habe, dann ist es ja klar, dass es sich nicht mehr um einfache Quadrate handelt sondern man mit kleineren bzw. größeren "Länderumrissen" zu kämpfen hat. Wenn ich jetzt mit Koordinaten arbeiten würde und hinter den Ländern ungefähre Buttons verstecken könnte, um dahinter eine Funktion zu implementieren, ist ja der Nachteil dass verschiedene PC's verschiedene Auflösungen haben und alles somit verrutschen kann.
Kann mir irgendjemand einen Ansatz oder einen Tipp geben, wie ich an die Sache vereinfachter herangehen kann, ohne mich mit komischen Koordinaten herumzuschlagen. Wie kann ich es so implementieren, sodass es bei jeder Auflösung auch passt und nichts "verrutscht".
Das ganze soll übrigens ausschließlich mit Swing (AWT auch möglich) programmiert werden. Ich hoffe, dass ich mein Problem gut genug beschreiben konnte und hoffe, dass ihr mir weiterhelfen könnt !!
Liebe Grüße
wie ihr sicher schon seht bin ich ganz frisch hier und freue mich sehr ein Mitglied von diesem Forum geworden zu sein.
Ich habe derzeit ein Projekt (Strategiespiel programmieren) am laufen und bin für die GUI-Programmierung zuständig. Ich habe wirklich ohne Ende gegoogelt aber nichts passendes gefunden, falls ich mich täuschen sollte, möchte ich mich hierfür entschuldigen und lasst es mich einfach wissen. Ich hoffe auch, dass ich euch nicht mit falschen Sachen zumülle und meine Frage hier passend ist.
Nun zu meinem Problem: Es geht darum, dass ich eine Landkarte programmieren will und auf den jeweiligen Ländern verschiedene Funktionen implementieren (z.B. wenn man mit der Maus drüberfährt oder das jeweilige Land anklickt). Bei der Programmierung die Karte als Bild einzufügen ist ja überhaupt kein Problem, mein Problem besteht nur darin, wie ich es ermöglichen kann, dass hinter allen Ländern eine Funktion steckt (Ich weiß dass man hier mit ActionListener etc. arbeiten kann). Wäre es beispielsweise ein Spiel wie Schach, dann könnte man lauter Quadrate anordnen und hinter diesen evtl. Buttons verstecken, um hinter diesen Feldern bestimmte Funktionen zu implementieren (Ist ja alles schön symmetrisch und parallel). Aber wenn ich nun eine Landkarte habe, dann ist es ja klar, dass es sich nicht mehr um einfache Quadrate handelt sondern man mit kleineren bzw. größeren "Länderumrissen" zu kämpfen hat. Wenn ich jetzt mit Koordinaten arbeiten würde und hinter den Ländern ungefähre Buttons verstecken könnte, um dahinter eine Funktion zu implementieren, ist ja der Nachteil dass verschiedene PC's verschiedene Auflösungen haben und alles somit verrutschen kann.
Kann mir irgendjemand einen Ansatz oder einen Tipp geben, wie ich an die Sache vereinfachter herangehen kann, ohne mich mit komischen Koordinaten herumzuschlagen. Wie kann ich es so implementieren, sodass es bei jeder Auflösung auch passt und nichts "verrutscht".
Das ganze soll übrigens ausschließlich mit Swing (AWT auch möglich) programmiert werden. Ich hoffe, dass ich mein Problem gut genug beschreiben konnte und hoffe, dass ihr mir weiterhelfen könnt !!
Liebe Grüße