Vorgehensweise Aufbau/Strategie Spiel

0plan

Bekanntes Mitglied
Hi Leute.

Ich beschäftige mich gerade mit dem Spieleerstellen, da dies eigentlich mein Hauptgrund war, Java zu lernen. Ich hab ein Spiel das aus mehreren Klassen besteht, es ist ein Aufbau spiel also gibt es die Klasse Gebäude, Spieler und Gameframe usw.

Meine Frage ist, wie geht man vor, wenn man ein solches Aufbauspiel a la Age of Empires programmiert. Ich kann zwar alle Gebäude aus meinem Menü auswählen und auf das Panel zeichnen. Jedoch frage ich mich, wie ich es realisieren muss, das ich Gebäude auf dem Spielfeld anklicken kann. Da die Gebäude ja quasi Objekte sind die aus ein paar Werten und einem Image bestehen. Muss ich diese in JLabels auf den Panel zeichnen oder wie geht ihr da vor?
 

Cola_Colin

Top Contributor
Das wird für gewöhnlich so gelöst, dass man die Position der Maus auf dem Bildschirm in eine Position in der Spielwelt umrechnet und dann eben das Spielobjekt anspricht, welches sich dort befindet.

Bei 2D Welten ist das noch relative simpel, bei 3D wird es ein wenig komplexer.
Kommt auch noch drauf an, wie genau das ganze sein soll und wie viele Funktionen deine Weltkamera hat.
Ist eine Zoomfunktion oder ähnliches vorhanden, wird die Mathematik dahinter nochmal ein wenig aufwendiger.

Es gibt afaik auch irgendwelche Methoden von OpenGL (und auch DirektX ?!) die das zu lösen zu versuchen.

Es gibt auch eine Technik, intern das Spiel zu zeichnen und jedem Objekt genau eine eindeutige Farbe zuzuordnen und dann zu schauen, welche Farbe bei den Koordinaten des Mauszeigers ist.

Richtige Spiele verwenden sicher nicht JLabel ;)
 

0plan

Bekanntes Mitglied
Nein, es ist ein einfaches 2d Spiel quasi Vogelperspektive ohne zoom und schnickschnack. Wird mein erstes Projekt, mit 3D hab ich noch nicht soooo viel Erfahrung sammeln können. Also ich habe eine Klasse die einen MouseListener implementiert um den erzeugten Objekten feste X und Y Werte auf dem Panel zuzuweisen. Ich soll also diese Objekte vorher in ein Label hauen, das Label dann an die X und Y Coords des Cursers platzieren?

Wenn ich die Grafiken bzw Objekte nicht in die Labels tun würde, wie würde mann dann vorgehen? Da die X und Y Position des Cursers ja nicht die gesamte Objektgrafik anspricht sondern nur die obere linke Ecke.
 

Cola_Colin

Top Contributor
Im einfachsten Fall hast du ein Panel, auf dem du deine Objekte zeichnest.
Du überwachst nun Mausklicks auf dieses Panel.
Bei einem Klick schaust du nach, ob die Position eines Spielobjektes von diesem Klick getroffen wird.
Dafür brauchst du eine Liste mit deinen Spielobjekten und die Spielobjekte müssen wissen, ob wo sie sind und wie groß sie sind.
Wenn du keine Verschiebung der Ansicht hast, dann kannst du diese Position direkt in Pixelkoordinaten speichern und es ist keine Umrechnung erforderlich.
 

0plan

Bekanntes Mitglied
Ah okay, wenn ich das richtig verstanden hab, muss ich also den erzeugten Objekten auch die Image größe mitgeben anstatt nur die X und Y Coords, damit ich prüfen kann, ob der Curser auf dem Pixel liegt, welches von einem Objekt ebenfalls genutzt wird?
 

Kr0e

Gesperrter Benutzer
An dieser Stelle wäre Slick2D (OpenGL-2D-Game-Library quasi) zu empfehlen. Java2D stößt bei solchen Sachen schnell an die Grenzen...
 

Cola_Colin

Top Contributor
Wie groß das Spielobjekt ist sollte so oder so unabhängig von der Grafik sein.
Die Grafik sollte sich an das Spielobjekt anpassen, nicht anders herum.

Nein externe Libs sind nicht notwendig.
Machbar ist es schon mit Java2D. Nur mehr als Bitmapgrafik ist eben nicht drinne ^^
 

0plan

Bekanntes Mitglied
Dann wird die Grafik aber doch unscharf wenn Sie vergrößert wird. Wieso nicht gleich die Bildgröße nehmen?
 

Kr0e

Gesperrter Benutzer
Nimm OpenGL/Slick, dann hälst du dir die Möglichkeit offen, das Spiel zu vergrößern und außerdem ist Slick IMHO sogar einfach als Swing. Also warum nen Hut mit einem Hammer aufsetzen ;)
 

Cola_Colin

Top Contributor
Musst eben aufpassen, dass die Grafik nicht zu klein ist ;)

Weil es dich unabhängiger macht von der Auflösung des Bildschirms, der Fenstergröße, etc..
 

0plan

Bekanntes Mitglied
vielen Dank, ich zieh mir gerade ein paar Tuts zu Slick rein, scheint ja echt easy zu sein. Vielen Dank für die Hilfe an alle.
 

0plan

Bekanntes Mitglied
btw, in dem Tut wird Slick mit MarteEngine genutzt, ist davon eher abzuraten oder taugt die was? Die mitgeliferten Klassen scheinen auf den ersten Blick echt einiges an Arbeit abzunehmen.
 

0plan

Bekanntes Mitglied
Bin schon etwas weiter, die Engine beitet einen eigenen Resourcemanager für sprites und media und hat unteranderem schon eine Entity Klasse von der man ableiten kann, also kann man sich das schon alles sparen. Echt genial.

Thread closed() Danke an alle
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Tetris Vorgehensweise Spiele- und Multimedia-Programmierung 15
V welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ? Spiele- und Multimedia-Programmierung 4
B Vorgehensweise: Gegenstände in Text-basiertem Spiel Spiele- und Multimedia-Programmierung 8
R Teris - Vorgehensweise Spiele- und Multimedia-Programmierung 3
T Problem beim Aufbau des Spielfelds Spiele- und Multimedia-Programmierung 18
A Aufbau einer JOGL Anwendung Spiele- und Multimedia-Programmierung 12
S Aufbau meines Top Down Shooters Spiele- und Multimedia-Programmierung 10
S Aufbau für 2D Spiele Spiele- und Multimedia-Programmierung 7
S Aufbau von Klassen für Spiel Spiele- und Multimedia-Programmierung 13
O Suche Tutorial zum Aufbau von großen Spielen(mit Multiplayer über Netzwerk...) Spiele- und Multimedia-Programmierung 3
M Aufbau Spiel Spiele- und Multimedia-Programmierung 2
T Verständnisfrage zum Aufbau des Universe Spiele- und Multimedia-Programmierung 3
V Ist LibGDX bei der aktuellen Oracle-Strategie noch die richtige Wahl? Spiele- und Multimedia-Programmierung 9
P Erstes Spiel (Strategie) Spiele- und Multimedia-Programmierung 31
A [Strategie] 8 - Version Cosmos Spiele- und Multimedia-Programmierung 2
hdi Suche Partner für Hobby-Projekt: 2D-Strategie-Spiel Spiele- und Multimedia-Programmierung 86
J java netzwerk strategie game programmiert Spiele- und Multimedia-Programmierung 4
C Strategie-Spiel Spiele- und Multimedia-Programmierung 25

Ähnliche Java Themen

Neue Themen


Oben