Una herramienta de configuración para proyectos libGDX Gradle.
Para generar un proyecto, descargue el último jar
de la aplicación y ejecútelo (normalmente bastará con hacer doble clic), o ejecute el siguiente comando manualmente (reemplazando la VERSION
apropiadamente):
java -jar gdx-liftoff-VERSION.jar
¡Debes compilar con Java 17 o posterior! La versión actual de Gradle, así como las herramientas actuales de Android, ahora requieren que su JDK instalado sea la versión 17 o superior. Independientemente de las plataformas a las que se dirija, Gradle 8.10 y versiones posteriores necesitan un JDK con una versión al menos 17. Aún puede apuntar a otras versiones, normalmente tan bajas como 8, mientras construye con cualquiera de las versiones de JDK 17 y superiores. Todas las versiones objetivo estables de Java del 8 al 23 funcionan aquí ahora. Usamos Gradle 8.10.2 porque funciona de inmediato con Java 23 (¡aunque acaba de ser lanzado!).
Si tiene algún problema, puede probar nuestra "Guía de solución de problemas".
Además de la mayoría de las características del gdx-setup
original, la herramienta gdx-liftoff
ofrece:
Plantillas de proyectos. Puede elegir uno de los muchos esqueletos de proyectos que destacan varias características de libGDX.
Validación de entrada instantánea. Los datos de su proyecto se validan a medida que los ingresa.
Soporte para otros lenguajes JVM. Puede elegir idiomas adicionales para su proyecto, como Kotlin o Scala. Se incluirán sus bibliotecas estándar, complementos de Gradle y carpetas de origen apropiadas.
Personalización. Tiene más control sobre las versiones de software utilizadas por su aplicación.
Más extensiones de terceros. Sus versiones se obtienen de Maven Central o JitPack, por lo que su proyecto siempre se genera actualizado.
Configuración automática para extensiones complicadas. Si tiene problemas para configurar Artemis-ODB, Lombok o varias otras bibliotecas, Liftoff realiza un trabajo adicional para que usted no tenga que hacerlo.
Soporte de preferencias. Los datos básicos de tu aplicación se guardan, por lo que no tienes que completarlos cada vez que generas un proyecto.
Corredor Gradle opcional. Opcionalmente, puede ejecutar tareas de Gradle después de la generación del proyecto. No es necesario ejecutar Gradle para que se cree un proyecto.
Admite todos los servidores libGDX. ¿Necesita los backends LWJGL2, LWJGL3 y/o Headless? Liftoff proporciona casillas de verificación simples para agregar todas y cada una de las plataformas oficiales, además de algunos otros módulos especiales.
Funciones de conveniencia. Si tiene JetBrains Toolbox, puede abrir un proyecto recién generado en IDEA con un solo clic (necesita configurar "Generar scripts de Shell" en Toolbox). Si usa Eclipse, aún puede importar proyectos de Gradle normalmente.
A hoy. Este proyecto se enorgullece de actualizarse rápidamente después del lanzamiento de componentes externos importantes como Gradle o libGDX.
Se admiten más backends. El backend sin cabeza ha sido parte de libGDX durante mucho tiempo, pero no se podía acceder fácilmente a él en gdx-setup; es una casilla de verificación aquí. TeaVM, una alternativa cada vez más popular a GWT para aplicaciones basadas en navegador, también está aquí y funciona con Kotlin y otros lenguajes JVM, así como con Java.
Cree ejecutables nativos listos para usar. El complemento Construo le permite ensamblar un JDK con el JAR de su proyecto y ejecutarlo con un ejecutable nativo Win64 .exe, MacOS (x64 o AARCH64) o Linux x64. La configuración también se incluye para Graal Native Image, aunque es menos probable que "funcione" inmediatamente.
Para los amantes de los vídeos, @raeleus produjo este vídeo tutorial.
Si prefieres leer texto, aquí tienes...
Gdx-Liftoff es una aplicación GUI relativamente sencilla.
Ingrese un nombre de proyecto/paquete/nombre de clase principal.
Haga clic en Opciones del proyecto.
Seleccione las opciones que desee (plataformas adicionales, lenguajes distintos de Java, extensiones oficiales y/o una plantilla).
Haga clic en Siguiente.
Seleccione las extensiones de terceros que desee agregar.
Haga clic en Siguiente.
Ingrese una ruta de proyecto y, opcionalmente, cambie la versión de Java (por ejemplo, a 8 para una mejor compatibilidad con iOS).
Haz clic en Generar y deja que suceda la magia.
Después de eso, puede abrir el proyecto en la ruta que especificó, o abrirlo más rápidamente en IDEA si está instalado de manera que Liftoff pueda verlo (usando JetBrains Toolbox, muy probablemente, aunque también se puede usar una IDEA instalada manualmente).
Si desea utilizar Kotlin, se recomienda una plantilla de Kotlin (como Kotlin Logo
); estos mencionan que utilizan "lanzadores Kotlin" en sus descripciones. Todas las bibliotecas KTX están disponibles como extensiones de terceros; Estos no son necesarios para los proyectos de Kotlin, pero pueden resultar útiles. KTX y otras bibliotecas basadas en Kotlin necesitan que Kotlin esté habilitado. Actualmente, los proyectos generados aquí utilizan de forma predeterminada Kotlin 2.0.21, que puede tener algunas incompatibilidades con las versiones anteriores 1.9.x. En su lugar, puede configurar la versión a la versión más reciente 1.9.x (actualmente 1.9.25), en el cuadro de diálogo Idiomas, cuando selecciona Kotlin como opción. Sin embargo, la serie de versiones 2.x presenta una serie de mejoras interesantes y la mayoría de las bibliotecas parecen ser muy compatibles o ya lo son. Liftoff en sí está construido usando Kotlin 2.x, así como también un importante código Java (compatible con Java 8).
Algunas cosas están estructuradas de manera diferente en los proyectos Liftoff, en comparación con los proyectos de configuración de gdx. Mientras que gdx-setup coloca casi toda la configuración en /build.gradle
(en la raíz del proyecto), incluso para subproyectos como android
o html
, Liftoff coloca solo la configuración compartida en la raíz build.gradle
y mantiene toda la información de la versión configurable por el usuario en /gradle.properties
y mueve la configuración por proyecto a /core/build.gradle
, /android/build.gradle
, /html/build.gradle
, etc. Liftoff también llama al proyecto que depende de LWJGL3 lwjgl3
, ya que también puede crear un proyecto que depende de LWJGL2, y se llama lwjgl2
. Es posible que necesite cambiar las referencias al módulo "escritorio" (como gdx-setup llama a LWJGL3) a lwjgl3
, ya que ese es el módulo de escritorio más probable que usaría.
Si agrega dependencias a archivos build.gradle, probablemente necesitará agregarlas a /core/build.gradle
en lugar de /build.gradle
en la raíz. Algunas dependencias también pueden necesitar que se agreguen partes a /lwjgl3/build.gradle
, /html/build.gradle
, etc. Si una biblioteca dice que se agreguen líneas a la sección de dependencias, eso casi siempre significa el bloque dentro de dependencies { }
, pero no dentro de buildscript { }
. A menudo hay dos bloques de dependencias y, por lo general, querrás el último. Las plantillas seleccionadas en Liftoff manejan esto automáticamente.
Para obtener más detalles sobre cómo utilizar la aplicación y cómo funciona, consulte la guía de uso. Si desea contribuir al proyecto, es posible que el documento de arquitectura le resulte útil.
Al enviar una solicitud de extracción, formatee la aplicación con la tarea ktlintFormat
Gradle.
El proyecto se bifurcó del repositorio czyzby/gdx-setup
. @czyzby y @kotcrab crearon la aplicación original, así como un conjunto de bibliotecas de las que depende ( gdx-lml
y VisUI
respectivamente). Desde entonces, el proyecto lo mantiene @tommyettinger. Afortunadamente, czyzby regresó e realizó una amplia variedad de mejoras, ¡muchas gracias! Gracias también a @metafore, que ahora mantiene gdx-lml (que este solía usar y puede que aún use).
@raeleus creó la máscara Particle Park para scene2d.ui, que se adaptó para ser la máscara predeterminada agregada a nuevos proyectos (si se selecciona la opción "Generar recursos de interfaz de usuario" ). "Accademia di Belle Arti di Urbino y estudiantes de la maestría en diseño visual" han creado la fuente Titillium Web que utiliza la máscara (bajo licencia SIL OFL). Ah, sí, e hizo algunas otras cosas a partir de la versión 1.12.1.10, como casi toda la versión . ¡Muchas gracias a raeleus por la revisión completa de la experiencia del usuario!
Otros contribuyentes al proyecto incluyen a @Mr00Anderson, @lyze237, @metafore (¡otra vez!) y @payne911. Las personas que no han contribuido directamente con el código han ayudado mucho al dedicar su tiempo a realizar pruebas en plataformas como macOS e iOS; @JojoIce es una de varias personas que marcaron la diferencia con respecto a iOS. Y, por supuesto, ¡muchas gracias a todos los primeros usuarios por aguantar cualquier versión que funcione parcialmente desde el principio!
Los íconos aleatorios cortados y utilizados para proyectos de Android provienen del proyecto OpenMoji. Si desea utilizar estos íconos en un formato menos destrozado, existe openmoji-atlas para acceder cómodamente a estos emoji desde libGDX.
Gracias también a todos los que han creado las distintas bibliotecas y herramientas de las que depende Liftoff. Desde el enorme equipo responsable de Graal Native Image hasta Construo, formado prácticamente por un equipo de una sola persona, algunas de las mejores características de Liftoff no están en absoluto en el código de Liftoff.
¡Buena suerte y esperamos que hagas algo genial!