Uma ferramenta de configuração para projetos libGDX Gradle.
Para gerar um projeto, baixe o jar
do aplicativo mais recente e execute-o (geralmente um clique duplo serve) ou execute o seguinte comando manualmente (substituindo a VERSION
apropriadamente):
java -jar gdx-liftoff-VERSION.jar
Você deve construir com Java 17 ou mais recente! A versão atual do Gradle, bem como as ferramentas Android atuais, agora exigem que o JDK instalado seja a versão 17 ou superior. Independentemente das plataformas que você almeja, o Gradle 8.10 e superior precisam de um JDK com versão pelo menos 17! Você ainda pode direcionar outras versões, normalmente até 8, enquanto cria com qualquer uma das versões 17 e superiores do JDK. Todas as versões estáveis do Java de 8 a 23 funcionam aqui agora. Usamos Gradle 8.10.2 porque ele funciona imediatamente com Java 23 (mesmo que tenha sido lançado recentemente!).
Se tiver algum problema, você pode tentar nosso ?Guia de solução de problemas?.
Além da maioria dos recursos do gdx-setup
original, a ferramenta gdx-liftoff
oferece:
Modelos de projeto. Você pode escolher um dos muitos esqueletos de projeto destacando vários recursos da libGDX.
Validação de entrada instantânea. Os dados do seu projeto são validados conforme você os digita.
Suporte a outras linguagens JVM. Você pode escolher linguagens adicionais para o seu projeto, como Kotlin ou Scala. Suas bibliotecas padrão, plug-ins Gradle e pastas de origem apropriadas serão incluídas.
Personalização. Você tem mais controle sobre as versões de software usadas pelo seu aplicativo.
Mais extensões de terceiros. Suas versões são obtidas no Maven Central ou JitPack, para que seu projeto seja sempre gerado atualizado.
Configuração automática para extensões complicadas. Se você estiver tendo problemas para configurar Artemis-ODB, Lombok ou várias outras bibliotecas, o Liftoff fará algum trabalho extra, então você não precisa fazer isso.
Suporte a preferências. Os dados básicos da sua aplicação são salvos, para que você não precise preenchê-los toda vez que gerar um projeto.
Corredor Gradle opcional. Opcionalmente, você pode executar tarefas Gradle após a geração do projeto. O Gradle não precisa ser executado para que um projeto seja criado.
Suporta todos os back-ends libGDX. Você precisa dos back-ends LWJGL2, LWJGL3 e/ou Headless? Liftoff fornece caixas de seleção simples para adicionar toda e qualquer plataforma oficial, além de alguns outros módulos especiais.
Recursos de conveniência. Se você tiver o JetBrains Toolbox, poderá abrir um projeto recém-gerado no IDEA com um clique (é necessário definir "Gerar Shell Scripts" no Toolbox). Se você usa o Eclipse, ainda poderá importar projetos Gradle normalmente.
Atualizado. Este projeto se orgulha de ser atualizado rapidamente após o lançamento dos principais componentes externos, como Gradle ou a própria libGDX.
Mais back-ends são suportados. O backend headless faz parte do libGDX há muito tempo, mas não era facilmente acessado no gdx-setup; é uma caixa de seleção aqui. TeaVM, uma alternativa cada vez mais popular ao GWT para aplicativos baseados em navegador, também está aqui e funciona com Kotlin e outras linguagens JVM, assim como com Java.
Crie executáveis nativos prontos para uso. O plugin Construo permite montar um JDK com o JAR do seu projeto e iniciá-lo com um .exe nativo Win64, MacOS (x64 ou AARCH64) .app ou executável Linux x64. A configuração também está incluída para Graal Native Image, embora seja menos provável que "simplesmente funcione" imediatamente.
Para quem gosta de vídeos, @raeleus produziu este vídeo tutorial.
Se você preferir ler o texto, aqui está...
Gdx-Liftoff é um aplicativo GUI relativamente simples.
Insira um nome de projeto/pacote/nome da classe principal.
Clique em Opções do projeto.
Selecione as opções desejadas (plataformas adicionais, linguagens não Java, extensões oficiais e/ou um modelo).
Clique em Avançar.
Selecione quaisquer extensões de terceiros que você deseja adicionar.
Clique em Avançar.
Insira um caminho de projeto e, opcionalmente, altere a versão do Java (como para 8 para melhor suporte ao iOS).
Clique em Gerar e deixe a mágica acontecer.
Depois disso, você pode abrir o projeto no caminho especificado ou abri-lo mais rapidamente no IDEA se estiver instalado como o Liftoff pode vê-lo (usando o JetBrains Toolbox, provavelmente, embora um IDEA instalado manualmente também possa ser usado).
Se você quiser usar Kotlin, um modelo Kotlin é recomendado (como Kotlin Logo
); estes mencionam que usam "lançadores Kotlin" em suas descrições. As bibliotecas KTX estão disponíveis como extensões de terceiros; eles não são necessários para projetos Kotlin, mas podem ser úteis. KTX e outras bibliotecas baseadas em Kotlin precisam do Kotlin habilitado. Atualmente, os projetos gerados aqui usam como padrão o Kotlin 2.0.21, que pode ter algumas incompatibilidades com as versões 1.9.x anteriores. Em vez disso, você pode definir a versão para a versão 1.9.x mais recente (atualmente 1.9.25), na caixa de diálogo Idiomas, ao selecionar Kotlin como uma opção. A série de lançamentos 2.x apresenta uma série de melhorias interessantes, entretanto, e a maioria das bibliotecas parece ser muito próxima da compatibilidade ou já é compatível. O próprio Liftoff é construído usando Kotlin 2.x, bem como código Java substancial (compatível com Java 8).
Algumas coisas são estruturadas de forma diferente nos projetos Liftoff, em comparação com os projetos gdx-setup. Onde gdx-setup coloca quase todas as configurações em /build.gradle
(na raiz do projeto), inclusive para subprojetos como android
ou html
, Liftoff coloca apenas configurações compartilhadas na raiz build.gradle
, mantém todas as informações de versão configuráveis pelo usuário em /gradle.properties
e move a configuração por projeto para /core/build.gradle
, /android/build.gradle
, /html/build.gradle
, etc. Liftoff também chama o projeto que depende de LWJGL3 lwjgl3
, já que você também pode criar um projeto que depende de LWJGL2 e é chamado lwjgl2
. Talvez seja necessário alterar as referências ao módulo "desktop" (como gdx-setup chama LWJGL3) para lwjgl3
, já que esse é o módulo de desktop mais provável que você usaria.
Se você estiver adicionando dependências aos arquivos build.gradle, provavelmente precisará adicioná-los a /core/build.gradle
em vez de /build.gradle
na raiz. Algumas dependências também podem precisar de partes adicionadas a /lwjgl3/build.gradle
, /html/build.gradle
e assim por diante. Se uma biblioteca diz para adicionar linhas à seção de dependências, isso quase sempre significa o bloco dentro dependencies { }
, mas não dentro buildscript { }
. Freqüentemente, há dois blocos de dependências e geralmente você deseja o último. Os modelos selecionados no Liftoff tratam disso automaticamente.
Para mais detalhes sobre como usar o aplicativo e como ele funciona, consulte o guia de uso. Se você gostaria de contribuir com o projeto, o documento de arquitetura pode ser útil.
Ao enviar uma solicitação pull, formate o aplicativo com a tarefa Gradle ktlintFormat
.
O projeto foi bifurcado do repositório czyzby/gdx-setup
. @czyzby e @kotcrab criaram o aplicativo original, bem como um conjunto de bibliotecas das quais ele depende ( gdx-lml
e VisUI
respectivamente). Desde então, o projeto é mantido por @tommyettinger. Graciosamente, czyzby voltou e fez uma grande variedade de melhorias, muito obrigado! Obrigado também a @metaphore, que agora mantém o gdx-lml (que usava e ainda pode usar).
@raeleus criou o skin Particle Park para scene2d.ui, que foi adaptado para ser o skin padrão adicionado a novos projetos (se a opção "Generate UI Assets" estiver selecionada). "Accademia di Belle Arti di Urbino e alunos do curso de mestrado em design visual" criaram a fonte Titillium Web que o skin usa (sob licença SIL OFL). Ah, sim, e ele fez algumas outras coisas a partir da versão 1.12.1.10, como quase todo o lançamento . Muito obrigado a raeleus pela revisão completa da experiência do usuário!
Outros colaboradores do projeto incluem @Mr00Anderson, @lyze237, @metaphore (de novo!) e @payne911. Pessoas que não contribuíram diretamente com código ainda ajudaram muito, gastando seu tempo testando em plataformas como macOS e iOS; @JojoIce é uma das várias pessoas que fizeram a diferença em relação ao iOS. E, claro, muito obrigado a todos os primeiros usuários por tolerarem quaisquer lançamentos parcialmente funcionais desde o início!
Os ícones aleatórios cortados e usados para projetos Android vêm do projeto OpenMoji. Se você quiser usar esses ícones em um formato menos distorcido, existe o openmoji-atlas para acessar esses emojis da libGDX convenientemente.
Obrigado também a todos que criaram as várias bibliotecas e ferramentas das quais o Liftoff depende. Da enorme equipe responsável pelo Graal Native Image ao Construo por praticamente uma equipe de um só, alguns dos melhores recursos do Liftoff não estão no código do Liftoff.
Boa sorte e esperamos que você faça algo ótimo!