Java 3D mit 2D kombinieren

bluerob

Mitglied
Hallo liebe Community,

ich habe vor ein Spiel zu programmieren, welches größtenteils aus 2D Objekten besteht, aber auch ein 3D Objekt, undzwar einen Würfel, beinhaltet.

Ich habe ein JFrame, welches sämtliche Daten verwaltet. Die kompletten 2D Funktionen werden als Hintergrund ablaufen (z.B. eine Liste, welche anzeigt, welcher Spieler am Zug ist), dieser ist also dynamisch, auf diesem Hintergrund liegt dann mein Würfel, welcher geworfen werden kann. Man kann sich also den Hintergrund auch als Art Spielfläche vorstellen. Man schaut dabei von oben auf die Spielfläche herab. Der Würfel fliegt dem Spieler als 3D Objekt dabei dem Spieler beim Wurf entgegen.

Wenn ich nun allerdings die Spielfläche programmiere und dann über Canvas3D -> SimpleUniverse meinen Würfel hinzufüge, befindet sich in meinem Fenster leider nur mein typisches schwarzes Universum, mit meinem Würfel drinnen. Alles andere von meinem Frame wird verdeckt.

Nun also zu meiner Frage:
Ist es möglich meine Spielfläche und meinen Würfel getrennt zu programmieren und später beides zusammenzufügen (durchsichtiges Universum) oder muss ich meine Spielfläche als Hintergrund in meinem 3D-Universum erstellen, in welches ich dann meinen Würfel hinzufügen kann? Dann habe ich allerdings das Problem, dass ich es nicht gebacken bekomme 2D-Objekte wie z.B. ein Panel dem Universum hinzuzufügen. Bedeutet, dass ich jedes mal meinen Hintergrund als IMG neu definieren und dann dem Universum als Background übergeben müsste. Oder gibt es irgendwie noch einen anderen Weg?

Kennt vielleicht jemand ein gutes Tutorial darüber?

Danke schonmal im vorraus 🙂
 
Kann ich mit dem PostRenderer nur Bilder hinzufügen oder auch allerlei wie Panels, usw? Und kann ich diese Panels dann noch weiter beeinflussen oder sind die dann statisch? In meinen Panels sollen nämlich Animationen stattfinden.

Hast du vielleicht ein schnelles Beispiel parat wie man den benutzt? Bin schon am suchen, aber so würde es schneller gehen 🙂
 
Nee, das wird schwierig, postRender ist nur zum zeichnen. Wenn der Canvas3D durch Swing-Components überdeckt werden soll, könnte man da viellecht was mit LayeredPanes machen, aber da muss man schauen, ob das funktioniert (kann ich spontan nicht sagen) und man bräuchte wohl mehr infos über die allgemeine Struktur und was da passieren soll...
 

Zurück
Oben