Инструмент настройки для проектов libGDX Gradle.
Чтобы создать проект, загрузите последнюю версию jar
приложения и запустите ее (обычно достаточно двойного щелчка мыши) или выполните следующую команду вручную (соответствующей заменой VERSION
):
java -jar gdx-liftoff-VERSION.jar
Вы должны использовать Java 17 или новее! Текущая версия Gradle, а также текущие инструменты Android теперь требуют, чтобы установленный JDK был версии 17 или выше. Независимо от того, на какие платформы вы ориентируетесь, для Gradle 8.10 и выше требуется JDK версии не ниже 17! Вы по-прежнему можете ориентироваться на другие выпуски, обычно начиная с 8, при сборке с любой из версий JDK 17 и выше. Здесь сейчас работают все стабильные целевые выпуски Java с 8 по 23. Мы используем Gradle 8.10.2, потому что он «из коробки» работает с Java 23 (хотя он был только что выпущен!).
Если у вас возникли проблемы, вы можете попробовать наше «Руководство по устранению неполадок».
В дополнение к большинству функций оригинальной gdx-setup
, инструмент gdx-liftoff
предлагает:
Шаблоны проектов. Вы можете выбрать один из множества скелетов проекта, подчеркивающих различные функции libGDX.
Мгновенная проверка ввода. Данные вашего проекта проверяются по мере их ввода.
Поддержка других языков JVM. Вы можете выбрать дополнительные языки для своего проекта, например Kotlin или Scala. Будут включены их стандартные библиотеки, плагины Gradle и соответствующие исходные папки.
Кастомизация. У вас больше контроля над версиями программного обеспечения, используемыми вашим приложением.
Больше сторонних расширений. Их версии извлекаются из Maven Central или JitPack, поэтому ваш проект всегда обновляется.
Автоматическая настройка для сложных расширений. Если у вас возникли проблемы с настройкой Artemis-ODB, Lombok или некоторых других библиотек, Liftoff проделает дополнительную работу, и вам не придется этого делать.
Поддержка предпочтений. Основные данные вашего приложения сохраняются, поэтому вам не придется заполнять их каждый раз при создании проекта.
Дополнительный бегун Gradle. При желании вы можете выполнять задачи Gradle после создания проекта. Для создания проекта не обязательно запускать Gradle.
Поддерживает все серверные части libGDX. Вам нужны серверные части LWJGL2, LWJGL3 и/или Headless? Liftoff предоставляет простые флажки для добавления любых официальных платформ, а также некоторых других специальных модулей.
Удобные функции. Если у вас есть JetBrains Toolbox, вы можете открыть только что созданный проект в IDEA одним щелчком мыши (для этого необходимо установить параметр «Создать сценарии оболочки» в Toolbox). Если вы используете Eclipse, вы все равно можете импортировать проекты Gradle в обычном режиме.
До настоящего времени. Этот проект гордится тем, что быстро обновляется после выпуска основных внешних компонентов, таких как Gradle или сама libGDX.
Поддерживается больше бэкэндов. Безголовый бэкэнд долгое время был частью libGDX, но к нему было нелегко получить доступ в gdx-setup; здесь это флажок. TeaVM, все более популярная альтернатива GWT для браузерных приложений, также здесь и работает с Kotlin и другими языками JVM так же, как и с Java.
Создавайте собственные исполняемые файлы «из коробки». Плагин Construo позволяет собрать JDK с JAR-файлом вашего проекта и запустить его с помощью собственного исполняемого файла Win64 .exe, MacOS (x64 или AARCH64) или исполняемого файла Linux x64. Конфигурация также включена для Graal Native Image, хотя вероятность того, что она «просто сработает» сразу, меньше.
Для любителей видео @raeleus подготовил это обучающее видео.
Если вы предпочитаете читать текст, то вот...
Gdx-Liftoff — относительно простое приложение с графическим интерфейсом.
Введите имя проекта/пакета/имя основного класса.
Нажмите «Параметры проекта».
Выберите нужные параметры (дополнительные платформы, языки, отличные от Java, официальные расширения и/или шаблон).
Нажмите Далее.
Выберите любые сторонние расширения, которые вы хотите добавить.
Нажмите Далее.
Введите путь к проекту и при необходимости измените версию Java (например, на 8 для лучшей поддержки iOS).
Нажмите «Создать», и пусть волшебство произойдет.
После этого вы можете открыть проект по указанному вами пути или открыть его быстрее в IDEA, если он установлен, так, как его может увидеть Liftoff (скорее всего, с помощью JetBrains Toolbox, хотя можно также использовать установленный вручную IDEA).
Если вы хотите использовать Kotlin, рекомендуется использовать шаблон Kotlin (например, Kotlin Logo
); в своих описаниях они упоминают, что используют «программы запуска Kotlin». Все библиотеки KTX доступны в виде сторонних расширений; они не требуются для проектов Kotlin, но могут быть полезны. KTX и другим библиотекам на основе Kotlin необходимо включить Kotlin. В настоящее время созданные здесь проекты по умолчанию используют Kotlin 2.0.21, который может иметь некоторые несовместимости с более ранними выпусками 1.9.x. Вместо этого вы можете установить новейшую версию 1.9.x (в настоящее время 1.9.25) в диалоговом окне «Языки», когда вы выбираете Kotlin в качестве опции. Однако серия выпусков 2.x претендует на ряд приятных улучшений, и большинство библиотек либо очень близки к совместимости, либо уже совместимы. Сам Liftoff построен с использованием Kotlin 2.x, а также существенного кода Java (совместимого с Java 8).
Некоторые вещи в проектах Liftoff структурированы иначе, чем в проектах gdx-setup. Если gdx-setup помещает почти всю конфигурацию в /build.gradle
(в корне проекта), в том числе для подпроектов, таких как android
или html
, Liftoff помещает только общую конфигурацию в корень build.gradle
, сохраняя всю настраиваемую пользователем информацию о версии в /gradle.properties
и перемещает конфигурацию для каждого проекта в /core/build.gradle
, /android/build.gradle
, /html/build.gradle
и т. д. Liftoff также вызывает проект, который зависит от LWJGL3 lwjgl3
, поскольку вы также можете создать проект, который зависит от LWJGL2 и называется lwjgl2
. Возможно, вам придется изменить ссылку на модуль «рабочий стол» (поскольку gdx-setup вызывает LWJGL3) на lwjgl3
, поскольку это наиболее вероятный модуль рабочего стола, который вы будете использовать.
Если вы добавляете зависимости в файлы build.gradle, вам, вероятно, потребуется добавить их в /core/build.gradle
а не в /build.gradle
в корне. Для некоторых зависимостей также может потребоваться добавление частей в /lwjgl3/build.gradle
, /html/build.gradle
и т. д. Если библиотека предлагает добавить строки в раздел зависимостей, это почти всегда означает блок внутри dependencies { }
, но не внутри buildscript { }
. Часто существует два блока зависимостей, и обычно вам нужен последний. Шаблоны, выбранные в Liftoff, обрабатывают это автоматически.
Более подробную информацию о том, как использовать приложение и как оно работает, можно найти в руководстве по использованию. Если вы хотите внести свой вклад в проект, документ по архитектуре может оказаться вам полезным.
При отправке запроса на извлечение отформатируйте приложение с помощью задачи ktlintFormat
Gradle.
Проект был создан из репозитория czyzby/gdx-setup
. @czyzby и @kotcrab создали исходное приложение, а также набор библиотек, от которых оно зависит ( gdx-lml
и VisUI
соответственно). С тех пор проект поддерживается @tommyettinger. Czyzby любезно вернулся и внес множество улучшений, за что ему огромное спасибо! Спасибо также @metaphore, который теперь поддерживает gdx-lml (который использовался и может использоваться до сих пор).
@raeleus создал скин Particle Park для Scene2d.ui, который был адаптирован в качестве скина по умолчанию, добавляемого в новые проекты (если выбрана опция «Создать ресурсы пользовательского интерфейса» ). «Академия изящных искусств ди Урбино и студенты магистерского курса визуального дизайна» создали шрифт Titillium Web , который использует скин (по лицензии SIL OFL). Ах да, и еще кое-что он сделал, начиная с версии 1.12.1.10, например почти весь релиз . Огромное спасибо raeleus за полную переработку пользовательского опыта!
Среди других участников проекта — @Mr00Anderson, @lyze237, @metaphore (снова!) и @payne911. Люди, которые непосредственно не вносили код, все равно очень помогли, потратив свое время на тестирование на таких платформах, как macOS и iOS; @JojoIce — один из нескольких человек, которые изменили iOS. И, конечно же, большое спасибо всем, кто первым внедрил приложение, за то, что они смирились с любыми частично работающими релизами на ранних этапах!
Рандомизированные значки, нарезанные и используемые в проектах Android, взяты из проекта OpenMoji. Если вы хотите использовать эти значки в менее искаженном формате, есть openmoji-atlas для удобного доступа к этим смайликам из libGDX.
Спасибо также всем, кто создал различные библиотеки и инструменты, от которых зависит Liftoff. От огромной команды, ответственной за Graal Native Image, до Construo, созданного почти одной командой, некоторые из лучших функций Liftoff вообще не присутствуют в коде Liftoff.
Удачи, и мы надеемся, что у вас получится что-то отличное!