Un outil de configuration pour les projets libGDX Gradle.
Pour générer un projet, téléchargez le dernier jar
de l'application et exécutez-le (généralement un double-clic suffit), ou exécutez la commande suivante manuellement (en remplaçant la VERSION
de manière appropriée) :
java -jar gdx-liftoff-VERSION.jar
Vous devez compiler avec Java 17 ou une version plus récente ! La version actuelle de Gradle, ainsi que les outils Android actuels, nécessitent désormais que votre JDK installé soit la version 17 ou supérieure. Quelles que soient les plateformes que vous ciblez, Gradle 8.10 et versions ultérieures nécessitent un JDK avec une version au moins 17 ! Vous pouvez toujours cibler d'autres versions, généralement aussi basses que 8, tout en construisant avec l'une des versions 17 et supérieures du JDK. Toutes les versions cibles stables de Java 8 à 23 fonctionnent ici désormais. Nous utilisons Gradle 8.10.2 car il fonctionne immédiatement avec Java 23 (même s'il vient de sortir !).
Si vous rencontrez des problèmes, vous pouvez essayer notre « Guide de dépannage ».
En plus de la plupart des fonctionnalités du gdx-setup
d'origine, l'outil gdx-liftoff
propose :
Modèles de projet. Vous pouvez choisir l'un des nombreux squelettes de projet mettant en évidence diverses fonctionnalités de libGDX.
Validation instantanée des entrées. Les données de votre projet sont validées au fur et à mesure que vous les saisissez.
Prise en charge d'autres langages JVM. Vous pouvez choisir des langages supplémentaires pour votre projet, comme Kotlin ou Scala. Leurs bibliothèques standard, plugins Gradle et dossiers sources appropriés seront inclus.
Personnalisation. Vous avez plus de contrôle sur les versions des logiciels utilisés par votre application.
Plus d'extensions tierces. Leurs versions sont récupérées depuis Maven Central ou JitPack, de sorte que votre projet est toujours généré à jour.
Configuration automatique pour les extensions délicates. Si vous rencontrez des difficultés pour configurer Artemis-ODB, Lombok ou plusieurs autres bibliothèques, Liftoff effectue un travail supplémentaire, vous n'êtes donc pas obligé de le faire.
Prise en charge des préférences. Les données de base de votre application sont enregistrées, vous n'avez donc pas besoin de les remplir à chaque fois que vous générez un projet.
Coureur Gradle en option. Vous pouvez éventuellement exécuter des tâches Gradle après la génération du projet. Gradle n'a pas besoin d'être exécuté pour qu'un projet soit créé.
Prend en charge tous les backends libGDX. Avez-vous besoin des backends LWJGL2, LWJGL3 et/ou Headless ? Liftoff fournit des cases à cocher simples pour ajouter toutes les plateformes officielles, ainsi que quelques autres modules spéciaux.
Fonctionnalités pratiques. Si vous disposez de JetBrains Toolbox, vous pouvez ouvrir un projet qui vient d'être généré dans IDEA en un seul clic (il nécessite l'option "Générer des scripts Shell" définie dans Toolbox). Si vous utilisez Eclipse, vous pouvez toujours importer des projets Gradle normalement.
À jour. Ce projet est fier de se mettre à jour rapidement après la sortie de composants externes majeurs tels que Gradle ou libGDX lui-même.
Plus de backends sont pris en charge. Le backend sans tête fait partie de libGDX depuis longtemps, mais n'était pas facilement accessible dans gdx-setup ; c'est une case à cocher ici. TeaVM, une alternative de plus en plus populaire à GWT pour les applications basées sur un navigateur, est également disponible et fonctionne avec Kotlin et d'autres langages JVM ainsi qu'avec Java.
Créez des exécutables natifs prêts à l'emploi. Le plugin Construo vous permet d'assembler un JDK avec le JAR de votre projet et de le lancer avec un exécutable natif Win64 .exe, MacOS (x64 ou AARCH64) .app ou Linux x64. La configuration est également incluse pour Graal Native Image, bien qu'il soit moins probable qu'elle « fonctionne » immédiatement.
Pour les amateurs de vidéo, @raeleus a produit cette vidéo tutorielle.
Si vous préférez lire du texte, alors c'est parti...
Gdx-Liftoff est une application GUI relativement simple.
Entrez un nom de projet/package/nom de classe principale.
Cliquez sur Options du projet.
Sélectionnez les options souhaitées (plateformes supplémentaires, langages non Java, extensions officielles et/ou un modèle).
Cliquez sur Suivant.
Sélectionnez les extensions tierces que vous souhaitez ajouter.
Cliquez sur Suivant.
Entrez un chemin de projet et modifiez éventuellement la version de Java (par exemple vers 8 pour une meilleure prise en charge d'iOS).
Cliquez sur Générer et laissez la magie opérer.
Après cela, vous pouvez ouvrir le projet dans le chemin que vous avez spécifié, ou l'ouvrir plus rapidement dans IDEA s'il est installé de la manière dont Liftoff peut le voir (en utilisant JetBrains Toolbox, très probablement, bien qu'un IDEA installé manuellement puisse également être utilisé).
Si vous souhaitez utiliser Kotlin, un modèle Kotlin est recommandé (tel que Kotlin Logo
) ; ceux-ci mentionnent qu'ils utilisent des « lanceurs Kotlin » dans leurs descriptions. Les bibliothèques KTX sont toutes disponibles sous forme d'extensions tierces ; ceux-ci ne sont pas requis pour les projets Kotlin, mais ils peuvent être utiles. KTX et d'autres bibliothèques basées sur Kotlin nécessitent que Kotlin soit activé. Actuellement, les projets générés ici utilisent par défaut Kotlin 2.0.21, qui peut présenter certaines incompatibilités avec les versions 1.9.x antérieures. Vous pouvez plutôt définir la version sur la version 1.9.x la plus récente (actuellement 1.9.25), dans la boîte de dialogue Langues, lorsque vous sélectionnez Kotlin comme option. La série de versions 2.x revendique cependant un certain nombre d'améliorations intéressantes, et la plupart des bibliothèques semblent soit très proches de la compatibilité, soit déjà compatibles. Liftoff lui-même est construit à l'aide de Kotlin 2.x, ainsi que d'un code Java substantiel (compatible avec Java 8).
Certaines choses sont structurées différemment dans les projets Liftoff, par rapport aux projets gdx-setup. Là où gdx-setup place presque toute la configuration dans /build.gradle
(à la racine du projet), y compris pour les sous-projets comme android
ou html
, Liftoff place uniquement la configuration partagée à la racine build.gradle
et conserve toutes les informations de version configurables par l'utilisateur dans /gradle.properties
, et déplace la configuration par projet vers /core/build.gradle
, /android/build.gradle
, /html/build.gradle
, etc. Liftoff appelle également le projet qui dépend de LWJGL3 lwjgl3
, puisque vous pouvez également créer un projet qui dépend de LWJGL2, et qui s'appelle lwjgl2
. Vous devrez peut-être modifier les références au module "desktop" (comme gdx-setup appelle LWJGL3) en lwjgl3
, car c'est le module de bureau le plus probable que vous utiliseriez.
Si vous ajoutez des dépendances aux fichiers build.gradle, vous devrez probablement les ajouter à /core/build.gradle
plutôt qu'à /build.gradle
à la racine. Certaines dépendances peuvent également nécessiter l'ajout de parties à /lwjgl3/build.gradle
, /html/build.gradle
, etc. Si une bibliothèque demande d'ajouter des lignes à la section des dépendances, cela signifie presque toujours le bloc à l'intérieur dependencies { }
, mais pas à l'intérieur buildscript { }
. Il y a souvent deux blocs de dépendances, et vous voulez généralement le dernier. Les modèles sélectionnés dans Liftoff gèrent cela automatiquement.
Pour plus de détails sur l'utilisation de l'application et son fonctionnement, consultez le guide d'utilisation. Si vous souhaitez contribuer au projet, le document d'architecture pourrait vous être utile.
Lorsque vous soumettez une pull request, veuillez formater l'application avec la tâche ktlintFormat
Gradle.
Le projet a été dérivé du référentiel czyzby/gdx-setup
. @czyzby et @kotcrab ont créé l'application originale, ainsi qu'un ensemble de bibliothèques dont elle dépend ( respectivement gdx-lml
et VisUI
). Depuis, le projet est maintenu par @tommyettinger. Gracieusement, czyzby est revenu et a apporté une grande variété d'améliorations, alors un grand merci ! Merci également à @metaphore, qui maintient désormais gdx-lml (que celui-ci utilisait et peut encore utiliser).
@raeleus a créé le skin Particle Park pour scene2d.ui, qui a été adapté pour être le skin par défaut ajouté aux nouveaux projets (si l'option "Générer des actifs d'interface utilisateur" est sélectionnée). "L'Académie des Beaux-Arts d'Urbino et les étudiants du cours de maîtrise en design visuel" ont créé la police Web Titillium que le skin utilise (sous licence SIL OFL). Oh ouais, et il a fait d'autres choses à partir de la version 1.12.1.10, comme presque toute la version . Un grand merci à raeleus pour la refonte complète de l'expérience utilisateur !
Les autres contributeurs au projet incluent @Mr00Anderson, @lyze237, @metaphore (encore une fois !) et @payne911. Les personnes qui n'ont pas directement contribué au code ont quand même beaucoup aidé en passant leur temps à tester sur des plateformes comme macOS et iOS ; @JojoIce est l'une des nombreuses personnes qui ont fait la différence concernant iOS. Et bien sûr, un grand merci à tous les premiers utilisateurs qui ont accepté dès le début toute version partiellement fonctionnelle !
Les icônes aléatoires découpées et utilisées pour les projets Android proviennent du projet OpenMoji. Si vous souhaitez utiliser ces icônes dans un format moins mutilé, il existe openmoji-atlas pour accéder facilement à ces emoji depuis libGDX.
Merci également à tous ceux qui ont créé les différentes bibliothèques et outils dont dépend Liftoff. De l'immense équipe responsable de Graal Native Image à Construo par une équipe composée d'une seule personne, certaines des meilleures fonctionnalités de Liftoff ne figurent pas du tout dans le code de Liftoff.
Bonne chance et nous espérons que vous réaliserez quelque chose de génial !