[Java] Blitz-ähnliche 2D-Engine?
Übersicht

TritiumBetreff: [Java] Blitz-ähnliche 2D-Engine? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mich würde mal interessieren, ob es für Java eine 2D-Engine gibt, die in ihrer Bedienung der aus Blitz gewohnten Struktur ähnelt. Ideal wäre, wenn sie OpenGL und DirectX unterstützt. Gut wäre auch, wenn sie wirklich nur für 2D gedacht und dafür optimiert ist.
Ich hatte mich mal an der LWJGL versucht, war mir dann nach mehreren Monaten aber deutlich zu viel Arbeit. An sich gefiel sie mir schon, da man sich daruf aufbauend die Grafikengine schreiben kann wie es einem gefällt. Nervig war, neben dem enormen Arbeitsaufwand, aber v.a. die Tatsache, dass die Sache mit dem Cross-Plattform in der Realität dann doch nicht so super funktioniert. Der Code erzeugte auf vier verschiedenen Grafikkarten vier verschiedene Ergebnisse, außerdem war eine Funktion unter Linux nicht unterstützt, wodurch sich der ganze Code nicht ausführen ließ. Danach hab mich noch kurz mit der LibGDX versucht, bin mit deren Aufbau aber nicht warm geworden. Also, welche Alternativen kennt Ihr? ![]() |
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du Java2D aus der Java-Standardbibliothek schon probiert? Außer dass es objektorientiert aufgebaut ist ist es fast identisch zu den Befehlen aus Blitz.
Verwendet OpenGL und DirectX, je nach dem auf welcher Plattform es rennt. Plattformunabhängigkeit ist sehr gut, Geschwindigkeit passt auch. Und wenn man will lässt es sich sehr einfach in Swing oder AWT einbinden, wenn man GUI mit 2D-Grafik kombinieren will. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ne, damit hab ich mich bisher nicht beschäftigt. Dachte immer, dass Java2D nur das allernötigste an Zeichenfunktionen besitzt und eher existiert, damit man mit Java überhaupt irgendwas zeichnen kann. Ist aber gut möglich, dass diese Meinung jetzt schon 6, 8 Jahre alt ist ![]() Ich werds beizeiten mal ausprobieren. Sonst noch Vorschläge? |
||
![]() |
Spark Fountain |
![]() Antworten mit Zitat ![]() |
---|---|---|
Geht zwar nicht ganz in die Richtung die du haben willst, aber vielleicht ist es dennoch für dich interessant: Hier im Forum gibt es einen Worklog (hier), wo DAK einen Crosscompiler entwickelt, der aus einem Blitz-Programm Javacode erzeugt. Das bedeutet, du kannst dein Programm in Blitz schreiben, aber es dir mtihilfe des Crosscompilers in ein Java-Programm übersetzen lassen, das du dann z.B. auch unter Linux ausführen können solltest.
Der letzte Worklogeintrag ist allerdings vom Oktober 2013 und ich weiß nicht, inwieweit das Projekt fortgeschritten ist bzw. was es alles schon kann. Dem eingebetteten Bild nach sind Grafikausgaben aber wohl schon möglich. |
||
Gewinner der MiniBCC's #11, #13 und #28 |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, ich habe das Projekt angefangen, wie das Semester noch nicht so heiß war, ist dann aber dem Semester zum Opfer gefallen ![]() Mit etwas Glück werde ich es aber im Sommer weiter machen. Die Grafikausgaben werden direkt nach Java2D gemapt. Java2D kann eigentlich alles was BlitzMax kann, und dann noch etwas. Ist gar nicht so schlecht. Klar, Physik und so Spielereien sind nicht direkt in Java2D eingebaut (dafür gibt es aber genügend Zusatzlibs), aber alles Normale (Bilder/Primitive/Text zeichnen, Sachen drehen, skalieren und einfärben, Schriftarten) ist vollständig vorhanden. Man kann sogar Transformationsmatrizen verwenden, wenn man darauf steht. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DAK hat Folgendes geschrieben: Java2D kann eigentlich alles was BlitzMax kann, und dann noch etwas.
Das ist mehr als genug, dann hat mich meine Erinnerung da wohl stark getäuscht ![]() Werd mich mal reinarbeiten, wenn Klausuren (und Sommerwetter ![]() @Spark Fountain: Wenn würde ich es direkt in Java schreiben (nichts gegen Deinen Crosscompiler, DAK), da ich mit Java ganz gut klarkomme. Ging mir mehr um die Grafiklib an sich. Trotzdem danke für den Hinweis! |
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, klar^^ Der Crosscompiler ist auch noch weit von verwendbar weg. Ein echtes Programm würde ich damit noch eine ganze Weile nicht machen.
Die Einarbeitung ist recht einfach. Hat man mal das Graphics-Objekt funktioniert es ziemlich gleich wie Blitz, nur dass die Funktionen alles Member-Funktionen von dem Graphics-Objekt sind. Code: [AUSKLAPPEN] public void draw(Graphics g) { g.drawString("Text",5,5); g.drawLine(10,10,50,50); } |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich habe mal ein wenig mit Java2D rumgespielt und für Spiele eignet es sich nicht. Anwendungsgebiet sind eher Grafiken wie Diagramme. Wenn du magst schicke ich dir aber gerne meinen Testcode. Für Spiele eignet sich Slick2D (basiert auf der JLWGL) |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Starwar hat Folgendes geschrieben: für Spiele eignet es sich nicht
Woran machst Du das fest? Starwar hat Folgendes geschrieben: Für Spiele eignet sich Slick2D (basiert auf der JLWGL)
Wird m.W. nicht mehr weiterentwickelt und unterstützt nur OpenGL ![]() |
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
An der Performance kanns nicht liegen (siehe z.B. hier). Daran, dass es keine Community dazu gibt auch nicht (siehe z.B. hier). | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group