Java welche Grafik API ist die beste?
Guten Tag,
ich suche nach einer Grafik API für Java um meine ersten schritte in der 2d Videospielprogrammierung zu wagen. Ich bin noch sehr neu in Java und wollte somit mein wissen mit Spaß an der Programmierung stärken. Da ich in der Ausbildung als Fachinformatiker für Anwendungsentwicklung nur in Berührung mit Objekt Pascal(Delphi) komme habe ich leider keine Ahnung welche APIs für Java die besten sind. Als IDE verwende ich Eclipse.
Mfg Timmy
4 Antworten
Swing kommt direkt mit.
JavaFX bzw. openjfx.io wäre auch eine Option.
was genau hast Du an "2d" und "erste Schritte" in der Frage nicht verstanden?
naja er wird nicht dabei bleiben. jeder fängt wohl mit 2d an, heißt aber nicht, dass man nicht direkt mit opengl anfängt. wäre wesentlich sinnvoller.
wie bei allen anderen sprachen auch opengl oder directx. das ganze ist aber relativ "roh" und du musst noch sehr viel selber scheiben. ich würde dir ein framework empfehlen, dass dir aber noch jede menge freiraum bietet. LibGDX. sehr einsteigerfreundlich und damit kann man auch problemlos für den browser und android entwickeln.
Für die 2D-Spieleprogrammierung mit Java bieten sich einige Bibliotheken/Frameworks/Engines an:
- FXGL
- Greenfoot (Lernsoftware)
- GTGE
- jMonkeyEngine
- libGDX
- LionEngine
- LITEngine
- LWJGL
- SilenceEngine
- Slick2D
Diese nutzen meist OpenGL und basieren oft auf der LWJGL, die aber auch noch Bindings zur Vulkan API bereithält. Hinsichtlich der Möglichkeiten/Freiheiten würde ich dir LWJGL empfehlen, allerdings wird damit die Programmierung auch komplizierter.
Wenn du nach einfachen Tools suchst, wären libGDX oder FXGL zu empfehlen.
Da du aber auch schreibst, dass du noch neu in Java bist, würde ich dir noch eher zu Processing raten. Da ich dazu schon oft etwas geschrieben habe, verlinke ich an dieser Stelle eine ältere Antwort dazu. Bei Bedarf kann man Processing auch in ein Java-Projekt integrieren.
Ich bedanke mich Herzlich an alle die mir eine Antwort geschrieben haben :)
Dann werde ich ihrem rat mal folgen und mit Processing beginnen :)
Je nachdem, auf welchem Level du programmieren willst, wird es entweder Swing/Awt/JavaFx oder Opengl/Vulkan werden.
Ich persönlich bevorzuge Opengl/Vulkan (Über LWJGL in java), da man dort wesentlich schnellere und grundlegendere Programme schreiben kann und an sich der Code auch umkomplizierter ist, wenn man ersteinmal verstanden hat, wie es funktioniert.
Für Einsteiger ist vermutlich OpenGl das einfachere.
nicht wirklich geeignet für die spieleentwicklung, jedenfalls wenns für pc und 3d sein soll.