Juegos para Android

La biblioteca de juegos de Android duplica el SDK de juegos de Android, que está disponible como descarga de objeto binario. Puedes usar la biblioteca de AndroidX en lugar de descargar e integrar manualmente el SDK de juegos de Android en tu compilación.

Para obtener más información sobre el SDK de juegos de Android, consulta la documentación del SDK y las notas de la versión del SDK.

En esta tabla, se enumeran todos los artefactos del grupo androidx.games.

Artefacto Versión estable actual Próxima versión potencial Versión beta Versión alfa
games-activity 1.0.0 - - 1.1.0-alpha01
games-controller 1.0.0 - - -
games-frame-pacing 1.9.0 - - -
games-text-input 1.0.0 - - -
games-performance-tuner 1.4.3 - 1.5.0-beta01 -
Esta biblioteca se actualizó por última vez el 29 de septiembre de 2021

Cómo declarar dependencias

Para agregar una dependencia en el juego, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

android {
    ...
    // To use the Android Frame Pacing or Android Performance Tuner libraries, enable
    // native dependencies to be imported. Libraries will be made available to your CMake build
    // as packages named "games-frame-pacing" and "games-performance-tuner".
    buildFeatures {
        prefab true
    }
}

dependencies {
    // To use the Android Frame Pacing library
    implementation "androidx.games:games-frame-pacing:1.9.0"

    // To use the Android Performance Tuner
    implementation "androidx.games:games-performance-tuner:1.5.0-beta01"

    // To use the Games Activity library
    implementation "androidx.games:games-activity:1.1.0-alpha01"

    // To use the Games Controller Library
    implementation "androidx.games:games-controller:1.0.0"

    // To use the Games Text Input Library
    implementation "androidx.games:games-text-input:1.0.0"
}

Kotlin

android {
    ...
    // To use the Android Frame Pacing or Android Performance Tuner libraries, enable
    // native dependencies to be imported. Libraries will be made available to your CMake build
    // as packages named "games-frame-pacing" and "games-performance-tuner".
    buildFeatures {
        prefab = true
    }
}

dependencies {
    // To use the Android Frame Pacing library
    implementation("androidx.games:games-frame-pacing:1.9.0")

    // To use the Android Performance Tuner
    implementation("androidx.games:games-performance-tuner:1.5.0-beta01")

    // To use the Games Activity library
    implementation("androidx.games:games-activity:1.1.0-alpha01")

    // To use the Games Controller Library
    implementation("androidx.games:games-controller:1.0.0")

    // To use the Games Text Input Library
    implementation("androidx.games:games-text-input:1.0.0")
}
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Cómo agregar propiedades de Gradle

Es posible que debas agregar propiedades al archivo gradle.properties ubicado en el mismo directorio que el archivo build.gradle de tu app (o módulo). Si el archivo gradle.properties no existe, créalo.

Si usas Android Studio 4.0, asegúrate de que gradle.properties contenga las siguientes líneas:

# Enables experimental Prefab
android.enablePrefab=true
# Tell Android Studio we are using AndroidX
android.useAndroidX=true

Si usas Android Studio 4.1 o versiones posteriores, asegúrate de que gradle.properties incluya las siguientes líneas:

# Tell Android Studio we are using AndroidX
android.useAndroidX=true

Cómo agregar paquetes con CMake

Para que los paquetes del SDK de juegos importados estén disponibles, agrega lo siguiente al archivo CMakeLists.txt de tu app principal:

# Add the packages from the Android Game SDK
find_package(games-frame-pacing REQUIRED CONFIG)
find_package(games-performance-tuner REQUIRED CONFIG)

Esto te permitirá incluir archivos de encabezado del SDK de juegos de Android en el código del juego:

#include "swappy/swappyGL.h"
#include "tuningfork/tuningfork.h"

En el archivo CMakeLists.txt de tu app principal, busca el objeto target_link_libraries para la biblioteca compartida principal. Agrega las referencias a las bibliotecas estáticas del SDK de juegos de Android para incluirlas en tu biblioteca compartida:

target_link_libraries(...
  games-frame-pacing::swappy_static
  games-performance-tuner::tuningfork_static
  ...)

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes en esta biblioteca antes de crear uno nuevo. Para agregar tu voto a un error existente, haz clic en el botón de la estrella.

Cómo crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Games-Activity versión 1.1

Versión 1.1.0-alpha01

29 de septiembre de 2021

Lanzamiento de androidx.games:games-activity:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

Cambios en la API

  • Se agregó la devolución de llamada onContentRectChanged a GameActivityCallbacks.

Correcciones de errores

  • Se agregaron mensajes faltantes a android_native_app_glue.h:
    • APP_CMD_CONTENT_RECT_CHANGED
    • APP_CMD_WINDOW_REDRAW_NEEDED

Games Performance Tuner 1.5.0

Versión 1.5.0-beta01

29 de septiembre de 2021

Lanzamiento de androidx.games:games-performance-tuner:1.5.0-beta01. La versión 1.5.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • No se realizaron cambios en la versión alfa. Esa actualización incluía los siguiente:
    • Cambia de manera programática el intervalo entre cargas, en lugar de codificarlo de forma fija en la configuración inicial.

Cambios en la API

  • No se realizaron cambios en la versión alfa. Esa actualización incluía los siguiente:
    • Nueva función: TuningFork_setAggregationStrategyInterval
    • Nuevo campo en TuningFork_Settings: aggregation_strategy_intervalms_or_count

Versión 1.5.0-alpha01

18 de agosto de 2021

Lanzamiento de androidx.games:games-performance-tuner:1.5.0-alpha01. La versión 1.5.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Ahora es posible establecer el intervalo entre cargas de APT de forma programática, en lugar de usar el archivo de configuración.

Cambios en la API

  • Se agregó la función TuningFork_setAggregationStrategyInterval.
  • Se agregó el campo a la estructura de TuningFork_Settings: aggregation_strategy_intervalms_or_count

Games-Activity versión 1.0.0

Versión 1.0.0

4 de agosto de 2021

Lanzamiento de androidx.games:games-activity:1.0.0, androidx.games:games-controller:1.0.0 y androidx.games:games-text-input:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

Esta es la versión inicial para estabilizar Games-Activity, Games-Controller y Games-Text-Input. Para obtener más información, consulta la página principal de AGDK.

Versión 1.0.0-rc01

12 de julio de 2021

Lanzamiento de androidx.games:games-activity:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el tipo de datos que se muestra en GameActivityCallbacks::onSaveInstanceState.

Versión 1.0.0-beta01

30 de junio de 2021

Lanzamiento de androidx.games:games-activity:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se cambió el nombre de GameActivityInputInfo a GameActivityPointerAxes.
  • Ahora, la devolución de llamada onNativeWindowResized brinda el ancho y la altura de la ventana.
  • Se quitó la devolución de llamada onContentRectChanged.
  • Se cambió el nombre de onLowMemory a onTrimMemory.
  • Se quitó GameActivity_setWindowFormat.
  • Se mejoró el modelo de propiedad para los punteros GameActivityMotionEvents y GameActivityMotionEvent.
  • Se mejoró el modelo de propiedad del estado del usuario en la devolución de llamada onSaveInstanceState.

Versión 1.0.0-alpha01

16 de junio de 2021

Lanzamiento de androidx.games:games-activity:1.0.0-alpha01.

Nuevas funciones

  • Games-Activity es una nueva biblioteca que reemplaza a NativeActivity como la forma recomendada de integrar un juego de C/C++ con Android.

Games-Controller versión 1.0.0

Versión 1.0.0

4 de agosto de 2021

Lanzamiento de androidx.games:games-activity:1.0.0, androidx.games:games-controller:1.0.0 y androidx.games:games-text-input:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

Esta es la versión inicial para estabilizar Games-Activity, Games-Controller y Games-Text-Input. Para obtener más información, consulta la página principal de AGDK.

Versión 1.0.0-rc02

21 de julio de 2021

Lanzamiento de androidx.games:games-controller:1.0.0-rc02. La versión 1.0.0-rc02 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el error de empaquetado que causaba que la importación de Prefab fallara en permutaciones de arquitectura o versión vacías que no se usaban.

Versión 1.0.0-rc01

12 de julio de 2021

Lanzamiento de androidx.games:games-controller:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se solucionó un problema de incompatibilidad con el GameActivity más reciente.

Versión 1.0.0-beta01

30 de junio de 2021

Lanzamiento de androidx.games:games-controller:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Ahora, las funciones que mostraban un valor booleano para confirmar si es correcto o no muestran una enumeración Paddleboat_Error_Code.
  • Se cambió el nombre de Paddleboat_onPause por Paddleboat_onStop.
  • Se cambió el nombre de Paddleboat_onResume por Paddleboat_onStart.
  • Paddleboat_processGameActivityEvent se divide en dos funciones: Paddleboat_processGameActivityKeyInputEvent y Paddleboat_processGameActivityMotionInputEvent.
  • Se quitaron las funciones de controladores extendidos que requerían compilación con un SDK de vista previa de Android S.
  • Se agregó la función Paddleboat_getBackButtonConsumed.
  • Ahora, las devoluciones de llamada del estado del controlador y del mouse cuentan con un parámetro opcional de un puntero para los datos que define el usuario.
  • Se movió la string del nombre del controlador fuera de la estructura de la información del dispositivo, y ahora se accede mediante la función Paddleboat_getControllerName.

Correcciones de errores

  • Se solucionó un error en el que un controlador que no se informaba en un principio como uno, pero luego sí lo hacía mediante un mensaje onInputDeviceChanged, no se detectaba correctamente como una conexión de controlador.

Versión 1.0.0-alpha01

16 de junio de 2021

Lanzamiento de androidx.games:games-controller:1.0.0-alpha01.

Nuevas funciones

  • Games-Controller es una nueva biblioteca que proporciona una API para C para detectar dispositivos de controles de juegos, interactuar con ellos y leer las entrada correspondientes.

Games-Text-Input versión 1.0.0

Versión 1.0.0

4 de agosto de 2021

Lanzamiento de androidx.games:games-activity:1.0.0, androidx.games:games-controller:1.0.0 y androidx.games:games-text-input:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

Esta es la versión inicial para estabilizar Games-Activity, Games-Controller y Games-Text-Input. Para obtener más información, consulta la página principal de AGDK.

Versión 1.0.0-rc01

12 de julio de 2021

Se lanzó androidx.games:games-text-input:1.0.0-rc01 sin cambios. La versión 1.0.0-rc01 contiene estas confirmaciones.

Versión 1.0.0-beta01

30 de junio de 2021

Lanzamiento de androidx.games:games-text-input:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se mejoró el modelo de propiedad de los objetos GameTextInputState.
  • Se ordenaron los tipos para que sean coherentes con NDK.

Versión 1.0.0-alpha01

16 de junio de 2021

Lanzamiento de androidx.games:games-text-input:1.0.0-alpha01.

Nuevas funciones

  • Games-Text-Input es una biblioteca nueva para ayudar a los desarrolladores de juegos a usar la entrada de teclado en pantalla de Android mediante C/C++.

Games Frame Pacing 1.9.0

Versión 1.9.0

12 de julio de 2021

Lanzamiento de androidx.games:games-frame-pacing:1.9.0. La versión 1.9.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.7.0

  • Se actualizó para que coincida con el esquema del control de versiones internas.

Games Frame Pacing 1.7.0

Versión 1.7.0

30 de junio de 2021

Lanzamiento de androidx.games:games-frame-pacing:1.7.0. La versión 1.7.0 contiene estas confirmaciones.

Versión 1.7.0-rc01

2 de junio de 2021

Lanzamiento de androidx.games:games-frame-pacing:1.7.0-rc01. La versión 1.7.0-rc01 contiene estas confirmaciones.

Versión 1.7.0-beta02

24 de febrero de 2021

Lanzamiento de androidx.games:games-frame-pacing:1.7.0-beta02.

Versión 1.7.0-beta01

16 de diciembre de 2020

Lanzamiento de androidx.games:games-frame-pacing:1.7.0-beta01.

Games Performance Tuner 1.4.3

Versión 1.4.3

12 de julio de 2021

Lanzamiento de androidx.games:games-performance-tuner:1.4.3. La versión 1.4.3 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

  • Se actualizó para que coincida con el esquema del control de versiones internas.

Games Performance Tuner 1.1.0

Versión 1.1.0

30 de junio de 2021

Lanzamiento de androidx.games:games-performance-tuner:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Versión 1.1.0-rc01

2 de junio de 2021

Lanzamiento de androidx.games:games-performance-tuner:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Versión 1.1.0-beta03

21 de abril de 2021

Lanzamiento de androidx.games:games-performance-tuner:1.1.0-beta03.

Versión 1.1.0-beta02

24 de febrero de 2021

Lanzamiento de androidx.games:games-performance-tuner:1.1.0-beta02.

Versión 1.1.0-beta01

16 de diciembre de 2020

Lanzamiento de androidx.games:games-performance-tuner:1.1.0-beta01.

Versión 1.1.0-alpha01

Lanzamiento de androidx.games:games-performance-tuner:1.1.0-alpha01.

Versión 1.0.0

Versión 1.0.0-alpha02

12 de agosto de 2020

Se cambió el nombre en inglés de la biblioteca de juegos de Android a Android Games library.

androidx.gaming -> androidx.games

Versión 1.0.0-alpha01

10 de junio de 2020

Lanzamiento de androidx.games:1.0.0-alpha01