Blog que tenta mostrar de uma forma engraçada a área de TI. Afinal de contas, não há nada mais triste do que uma péssima implementação.
Mostrando postagens com marcador Godot. Mostrar todas as postagens
Mostrando postagens com marcador Godot. Mostrar todas as postagens
10 de junho de 2020
Desenvolvimento Godot - Android - Gerando a keystore de Debug
20 de dezembro de 2018
Godot Engine - Criando um módulo customizado para o android
Em algum momento você via precisar criar um módulo customizado na Godot Engine para alguma plataforma (como android ou IOS).
Como exemplo de um módulo customizado teríamos um módulo para a apresentação de anúncios (ads), como o Admob, Chartboost, ou Heyzap. Isso é necessário pois o módulo de ads não faz parte do núcleo do Godot.
Propaganda é o sustento do desenvolvedor de jogos
Para demonstrar a criação de um módulo para o android na Godot Engine, vamos criar um módulo simples que obtém as informações do aparelho celular e retorna o resultado em um Dictionary. Vamos chamar o módulo de device_info.
A seguinte estrutura de arquivos/pastas é necessária para a criação do módulo:
- device_info
- SCub
- register_types.h
- register_types.cpp
- config.py
- android
- DeviceInfo.java
Pasta device_info
É a pasta raiz do projeto, que vai ser copiada para a pasta modules do projeto do Godot.
Arquivo SCub
Arquivo a ser utilizado pelo Scons para a compilação do módulo.
1 2 3 4 5 | Import('env') sources = [ 'register_types.cpp' ] |
Arquivo register_types.h
Utilizado para registrar o módulo na Engine
1 2 | void register_device_info(); void unregister_device_info(); |
Arquivo register_types.cpp
Implementação do .h
1 2 3 4 5 6 7 8 9 10 11 | #include "register_types.h" #include "object_type_db.h" #include "core/globals.h" #include "ios/src/device_info.h" void register_device_info() { Globals::get_singleton()->add_singleton(Globals::Singleton("DeviceInfo", memnew(DeviceInfo))); } void unregister_device_info() { } |
Arquivo config.py
Arquivo a ser utilizado pelo Scons
1 2 3 4 5 6 7 | def can_build(plat): return plat=="android" def configure(env): if (env['platform'] == 'android'): env.android_add_java_dir("android") env.disable_module() |
Arquivo DeviceInfo.java
Arquivo com a implementação do módulo para o android.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | package org.godotengine.godot; import java.util.HashMap; import android.app.Activity; import android.util.Log; import android.os.Build; public class DeviceInfo extends Godot.SingletonBase { private Activity activity; static public Godot.SingletonBase initialize(Activity p_activity) { return new DeviceInfo(p_activity); } public DeviceInfo(Activity p_activity) { /* * Registrando os métodos que serão exportados para o GDscript */ registerClass("DeviceInfo", new String[] { "get_info_array" }); activity = p_activity; } /** * Implementação do método para obter as informações do dispositivo */ public org.godotengine.godot.Dictionary get_info_array() { org.godotengine.godot.Dictionary info = new org.godotengine.godot.Dictionary(); info.put("MANUFACTURER", Build.MANUFACTURER); info.put("MODEL", Build.MODEL); info.put("PRODUCT", Build.PRODUCT); info.put("BRAND", Build.BRAND); info.put("DEVICE", Build.DEVICE); Log.d("godot", "get_info_array"); return info; } } |
Para compilar o módulo criado, basta seguir as instruções do artigo Compilando a Godot para android - utilizando o Linux.
A animação a seguir apresenta a utilização do módulo criado.
No próximo artigo vamos criar um projeto no Godot demonstrando a utilização do módulo.
19 de dezembro de 2018
Compilando a Godot para android - utilizando o Linux
Para compilar a Godot Engine e criar um pacote customizado para o android basta executar os seguintes passos:
Baixar o código fonte da engine
git clone https://github.com/godotengine/godot.git
Escolher a versão da engine a ser compilada (*)
git checkout 2.1.5-stable
Executar o comando para compilar a engine e gerar o pacote
scons platform=android target=release && cd platform/android/java/ && ./gradlew build && cd ../../../
O pacote customizado vai ficar na pasta bin/
android_release.apk
Para quem não utiliza a parte 3d da engine, a redução do tamanho do package pode ser obtida com os seguinte parâmetros:
scons platform=android disable_3d=yes disable_advanced_gui=yes module_bullet_enabled=no target=release && cd platform/android/java/ && ./gradlew build && cd ../../../
Se for necessário compilar para a arquitetura x86 (utilizada no emulador android - Android Virtual Device - AVD) as instruções anteriores ficam da seguinte forma.
scons platform=android disable_3d=yes disable_advanced_gui=yes module_bullet_enabled=no target=release && scons platform=android android_arch=x86 disable_3d=yes disable_advanced_gui=yes module_bullet_enabled=no target=release && cd platform/android/java/ && ./gradlew build && cd ../../../
(*) Atualmente a versão 2.1.5-stable é a única realmente estável para mobile (android/ios)
Baixar o código fonte da engine
git clone https://github.com/godotengine/godot.git
Ir para a pasta do projeto
cd godot/
git checkout 2.1.5-stable
Executar o comando para compilar a engine e gerar o pacote
scons platform=android target=release && cd platform/android/java/ && ./gradlew build && cd ../../../
O pacote customizado vai ficar na pasta bin/
android_release.apk
Para quem não utiliza a parte 3d da engine, a redução do tamanho do package pode ser obtida com os seguinte parâmetros:
scons platform=android disable_3d=yes disable_advanced_gui=yes module_bullet_enabled=no target=release && cd platform/android/java/ && ./gradlew build && cd ../../../
Se for necessário compilar para a arquitetura x86 (utilizada no emulador android - Android Virtual Device - AVD) as instruções anteriores ficam da seguinte forma.
scons platform=android target=release && scons platform=android target=release android_arch=x86 && cd platform/android/java/ && ./gradlew build && cd ../../../
scons platform=android disable_3d=yes disable_advanced_gui=yes module_bullet_enabled=no target=release && scons platform=android android_arch=x86 disable_3d=yes disable_advanced_gui=yes module_bullet_enabled=no target=release && cd platform/android/java/ && ./gradlew build && cd ../../../
(*) Atualmente a versão 2.1.5-stable é a única realmente estável para mobile (android/ios)
18 de dezembro de 2018
Compilando a Godot para linux
Para compilar a Godot Engine para o linux basta executar os seguintes passos:
Baixar o código fonte da engine
git clone https://github.com/godotengine/godot.git
Escolher a versão da engine a ser compilada (*)
git checkout 2.1.5-stable
Executar o comando para compilar a engine
scons platform=x11 target=release_debug
A engine compilada vai ficar na pasta bin/
godot.x11.opt.tools.64
(*) Atualmente a versão 2.1.5-stable é a única realmente estável para mobile (android/ios)
Baixar o código fonte da engine
git clone https://github.com/godotengine/godot.git
Ir para a pasta do projeto
cd godot/
git checkout 2.1.5-stable
Executar o comando para compilar a engine
scons platform=x11 target=release_debug
A engine compilada vai ficar na pasta bin/
godot.x11.opt.tools.64
(*) Atualmente a versão 2.1.5-stable é a única realmente estável para mobile (android/ios)
28 de fevereiro de 2016
Godot Engine: Visualizando o log do android com o Adb
A história é a seguinte: você está desenvolvendo um jogo utilizando a Engine Godot e precisa dar uma olhada no log do aplicativo que está rodando no celular.
O log pode ser visualizado através do adb:
adb logcat [options] [filterspecs]
onde [options] são as opções do comando e [filterspecs] são os filtros a serem utilizados.
Para obter apenas o log do Godot deve-se silenciar a saída de log:
adb logcat -s
e filtrar pela Tag do godot
"godot"
O comando completo fica da seguinte forma:
adb logcat -s godot
O mesmo pode ser obtido pelo seguinte comando:
adb logcat *:S godot:V
PS: uma introdução à Engine Godot pode ser visualizada neste vídeo
Assinar:
Postagens (Atom)

