Ein Setup-Tool für libGDX Gradle-Projekte.
Um ein Projekt zu generieren, laden Sie das neueste Anwendungs- jar
herunter und führen Sie es aus (normalerweise reicht ein Doppelklick) oder führen Sie den folgenden Befehl manuell aus (wobei Sie die VERSION
entsprechend ersetzen):
java -jar gdx-liftoff-VERSION.jar
Sie müssen mit Java 17 oder neuer bauen! Die aktuelle Version von Gradle sowie aktuelle Android-Tools erfordern jetzt, dass Ihr installiertes JDK Version 17 oder höher ist. Unabhängig davon, auf welche Plattformen Sie abzielen, benötigen Gradle 8.10 und höher ein JDK mit einer Version von mindestens 17! Sie können weiterhin auf andere Releases abzielen, normalerweise nur auf 8, während Sie mit einer der JDK-Versionen 17 und höher erstellen. Alle stabilen Zielversionen von Java 8 bis 23 funktionieren hier jetzt. Wir verwenden Gradle 8.10.2, weil es sofort mit Java 23 funktioniert (obwohl es gerade erst veröffentlicht wurde!).
Wenn Sie Probleme haben, können Sie unseren „Leitfaden zur Fehlerbehebung“ ausprobieren.
Zusätzlich zu den meisten Funktionen des ursprünglichen gdx-setup
bietet das gdx-liftoff
Tool:
Projektvorlagen. Sie können eines von vielen Projektgerüsten auswählen, die verschiedene libGDX-Funktionen hervorheben.
Sofortige Eingabevalidierung. Ihre Projektdaten werden während der Eingabe validiert.
Unterstützung anderer JVM-Sprachen. Sie können zusätzliche Sprachen für Ihr Projekt auswählen, z. B. Kotlin oder Scala. Ihre Standardbibliotheken, Gradle-Plugins und entsprechenden Quellordner werden enthalten sein.
Anpassung. Sie haben mehr Kontrolle über die von Ihrer Anwendung verwendeten Softwareversionen.
Weitere Erweiterungen von Drittanbietern. Ihre Versionen werden von Maven Central oder JitPack abgerufen, sodass Ihr Projekt immer aktuell generiert wird.
Automatische Konfiguration für knifflige Erweiterungen. Wenn Sie Probleme beim Einrichten von Artemis-ODB, Lombok oder mehreren anderen Bibliotheken haben, übernimmt Liftoff einige zusätzliche Arbeiten, sodass Sie dies nicht tun müssen.
Unterstützung für Präferenzen. Die Grunddaten Ihrer Bewerbung werden gespeichert, sodass Sie diese nicht jedes Mal ausfüllen müssen, wenn Sie ein Projekt erstellen.
Optionaler Gradle-Läufer. Optional können Sie Gradle-Aufgaben nach der Projektgenerierung ausführen. Gradle muss nicht ausgeführt werden, damit ein Projekt erstellt wird.
Unterstützt alle libGDX-Backends. Benötigen Sie die Backends LWJGL2, LWJGL3 und/oder Headless? Liftoff bietet einfache Kontrollkästchen zum Hinzufügen aller offiziellen Plattformen sowie einiger spezieller anderer Module.
Komfortfunktionen. Wenn Sie über die JetBrains Toolbox verfügen, können Sie ein gerade generiertes Projekt in IDEA mit einem Klick öffnen (dafür muss in der Toolbox „Shell-Skripte generieren“ festgelegt sein). Wenn Sie Eclipse verwenden, können Sie Gradle-Projekte weiterhin normal importieren.
Auf dem neuesten Stand. Dieses Projekt ist stolz darauf, nach Veröffentlichungen wichtiger externer Komponenten wie Gradle oder libGDX selbst schnell aktualisiert zu werden.
Weitere Backends werden unterstützt. Das Headless-Backend war schon lange Teil von libGDX, konnte aber im gdx-Setup nicht einfach aufgerufen werden; es ist hier ein Kontrollkästchen. TeaVM, eine immer beliebter werdende Alternative zu GWT für browserbasierte Anwendungen, ist ebenfalls verfügbar und funktioniert mit Kotlin und anderen JVM-Sprachen sowie mit Java.
Erstellen Sie sofort einsatzbereite native ausführbare Dateien. Mit dem Construo-Plugin können Sie ein JDK mit der JAR-Datei Ihres Projekts zusammenstellen und es mit einer nativen ausführbaren Datei für Win64 .exe, MacOS (x64 oder AARCH64) .app oder Linux x64 starten. Die Konfiguration für Graal Native Image ist ebenfalls enthalten, obwohl die Wahrscheinlichkeit geringer ist, dass dies sofort „einfach funktioniert“.
Für das Video hat @raeleus dieses Tutorial-Video produziert.
Wenn Sie lieber Text lesen möchten, dann sind Sie hier genau richtig...
Gdx-Liftoff ist eine relativ einfache GUI-Anwendung.
Geben Sie einen Projektnamen/ein Paket/einen Hauptklassennamen ein.
Klicken Sie auf Projektoptionen.
Wählen Sie die gewünschten Optionen aus (zusätzliche Plattformen, Nicht-Java-Sprachen, offizielle Erweiterungen und/oder eine Vorlage).
Klicken Sie auf Weiter.
Wählen Sie alle Drittanbieter-Erweiterungen aus, die Sie hinzufügen möchten.
Klicken Sie auf Weiter.
Geben Sie einen Projektpfad ein und ändern Sie optional die Java-Version (z. B. auf 8 für bessere iOS-Unterstützung).
Klicken Sie auf „Generieren“ und lassen Sie die Magie geschehen.
Danach können Sie das Projekt im von Ihnen angegebenen Pfad öffnen oder es schneller in IDEA öffnen, wenn es so installiert ist, wie Liftoff es sehen kann (höchstwahrscheinlich mit JetBrains Toolbox, obwohl auch ein manuell installiertes IDEA verwendet werden kann).
Wenn Sie Kotlin verwenden möchten, wird eine Kotlin-Vorlage empfohlen (z. B. Kotlin Logo
); Diese erwähnen in ihren Beschreibungen, dass sie „Kotlin-Launcher“ verwenden. Die KTX-Bibliotheken sind alle als Erweiterungen von Drittanbietern verfügbar; Diese sind für Kotlin-Projekte nicht erforderlich, können aber hilfreich sein. Für KTX und andere Kotlin-basierte Bibliotheken muss Kotlin aktiviert sein. Derzeit verwenden hier generierte Projekte standardmäßig Kotlin 2.0.21, was möglicherweise einige Inkompatibilitäten mit den früheren 1.9.x-Versionen aufweist. Sie können die Version stattdessen im Dialogfeld „Sprachen“ auf die neueste Version 1.9.x (derzeit 1.9.25) einstellen, wenn Sie Kotlin als Option auswählen. Die 2.x-Release-Serie bietet jedoch eine Reihe netter Verbesserungen, und die meisten Bibliotheken scheinen entweder sehr nahe an der Kompatibilität zu sein oder bereits kompatibel zu sein. Liftoff selbst wird mit Kotlin 2.x sowie umfangreichem Java-Code (kompatibel mit Java 8) erstellt.
Einige Dinge sind in Liftoff-Projekten anders strukturiert als in gdx-setup-Projekten. Während gdx-setup fast die gesamte Konfiguration in /build.gradle
(im Projektstammverzeichnis) ablegt, auch für Unterprojekte wie android
oder html
, legt Liftoff nur die gemeinsam genutzte Konfiguration im Stammverzeichnis build.gradle
ab und behält alle vom Benutzer konfigurierbaren Versionsinformationen in /gradle.properties
und verschiebt die projektspezifische Konfiguration nach /core/build.gradle
, /android/build.gradle
, /html/build.gradle
usw. Liftoff nennt das Projekt auch so hängt von LWJGL3 lwjgl3
ab, da Sie auch ein Projekt erstellen können, das von LWJGL2 abhängt und das lwjgl2
heißt. Möglicherweise müssen Sie Verweise auf das Modul „desktop“ (wie gdx-setup LWJGL3 aufruft) in lwjgl3
ändern, da dies das wahrscheinlichste Desktop-Modul ist, das Sie verwenden würden.
Wenn Sie Abhängigkeiten zu build.gradle-Dateien hinzufügen, müssen Sie diese wahrscheinlich zu /core/build.gradle
und nicht zu /build.gradle
im Stammverzeichnis hinzufügen. Bei einigen Abhängigkeiten müssen möglicherweise auch Teile zu /lwjgl3/build.gradle
, /html/build.gradle
usw. hinzugefügt werden. Wenn eine Bibliothek angibt, Zeilen zum Abschnitt „Abhängigkeiten“ hinzuzufügen, bedeutet das fast immer, dass sich der Block innerhalb dependencies { }
befindet, aber nicht innerhalb von buildscript { }
. Oft gibt es zwei Abhängigkeitsblöcke, und im Allgemeinen möchten Sie den letzten. Die in Liftoff ausgewählten Vorlagen erledigen dies automatisch.
Weitere Informationen zur Verwendung und Funktionsweise der Anwendung finden Sie in der Bedienungsanleitung. Wenn Sie zum Projekt beitragen möchten, ist das Architekturdokument möglicherweise hilfreich.
Wenn Sie eine Pull-Anfrage senden, formatieren Sie die Anwendung bitte mit der Gradle-Aufgabe ktlintFormat
.
Das Projekt wurde aus dem czyzby/gdx-setup
Repository geforkt. @czyzby und @kotcrab haben die Originalanwendung sowie eine Reihe von Bibliotheken erstellt, von denen sie abhängt ( gdx-lml
bzw. VisUI
). Seitdem wird das Projekt von @tommyettinger betreut. Dankbarerweise kam Czyzby zurück und nahm eine Vielzahl von Verbesserungen vor, vielen Dank dafür! Vielen Dank auch an @metaphore, der jetzt gdx-lml verwaltet (das dieses verwendet hat und möglicherweise noch verwendet).
@raeleus hat den Particle Park-Skin für scene2d.ui erstellt, der als Standard-Skin für neue Projekte angepasst wurde (wenn die Option „UI-Assets generieren“ ausgewählt ist). „Accademia di Belle Arti di Urbino und Studierende des MA-Kurses für visuelles Design“ haben die Schriftart Titillium Web erstellt, die der Skin verwendet (unter SIL OFL-Lizenz). Oh ja, und er hat ab Version 1.12.1.10 noch einige andere Dinge gemacht, wie zum Beispiel fast die gesamte Veröffentlichung . Vielen Dank an raeleus für die komplette Überarbeitung des Benutzererlebnisses!
Weitere Projektmitwirkende sind @Mr00Anderson, @lyze237, @metaphore (schon wieder!) und @payne911. Leute, die nicht direkt Code beigesteuert haben, haben dennoch viel geholfen, indem sie ihre Zeit damit verbracht haben, auf Plattformen wie macOS und iOS zu testen; @JojoIce ist einer von mehreren Menschen, die in Bezug auf iOS einen Unterschied gemacht haben. Und natürlich geht ein großer Dank an alle Early Adopters, die sich frühzeitig mit teilweise funktionierenden Veröffentlichungen abgefunden haben!
Die zufälligen, zerhackten und für Android-Projekte verwendeten Symbole stammen vom OpenMoji-Projekt. Wenn Sie diese Symbole in einem weniger komplizierten Format verwenden möchten, gibt es openmoji-atlas, mit dem Sie bequem über libGDX auf diese Emojis zugreifen können.
Vielen Dank auch an alle, die die verschiedenen Bibliotheken und Tools erstellt haben, auf die Liftoff angewiesen ist. Von dem riesigen Team, das für Graal Native Image verantwortlich ist, bis hin zu Construo, einem Team, das praktisch nur aus einer Person besteht, sind einige der besten Funktionen von Liftoff überhaupt nicht im Liftoff-Code enthalten.
Viel Glück und wir hoffen, dass Sie etwas Großartiges schaffen!