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

Übersicht Andere Programmiersprachen Allgemein

Neue Antwort erstellen

 

Tritium

Betreff: [Java] Blitz-ähnliche 2D-Engine?

BeitragSo, März 30, 2014 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
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? Smile

DAK

BeitragSo, März 30, 2014 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, März 31, 2014 12:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

Ich werds beizeiten mal ausprobieren. Sonst noch Vorschläge?

Spark Fountain

BeitragMo, März 31, 2014 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, März 31, 2014 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich habe das Projekt angefangen, wie das Semester noch nicht so heiß war, ist dann aber dem Semester zum Opfer gefallen Wink
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

BeitragDi, Apr 01, 2014 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

Werd mich mal reinarbeiten, wenn Klausuren (und Sommerwetter Rolling Eyes ) vorbei sind.

@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

BeitragDi, Apr 01, 2014 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Apr 04, 2014 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Apr 08, 2014 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Sad

DAK

BeitragDi, Apr 08, 2014 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht Andere Programmiersprachen Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group