Biblioteca de controles de juegos Parte de Android Game Development Kit.

La biblioteca de controles de juegos, también llamada Paddleboat, te ayuda a implementar una compatibilidad sólida con los controles para juegos. La biblioteca proporciona lo siguiente:

  • Devoluciones de llamada para detectar conexiones y desconexiones de los controles
  • Información de los dispositivos de control, incluidos el diseño y el estilo de los botones
  • Datos de entrada del control, estandarizados en torno a los diseños modernos de controles de doble stick
  • Funciones adicionales en controles compatibles, como vibración, luces, datos del eje de movimiento y estado de la batería
  • Posibilidad de leer entradas de mouse a partir de dispositivos virtuales o físicos
  • Capacidad de especificar datos personalizados de asignación de controles para dispositivos específicos

Requisitos de compatibilidad

La biblioteca de controles para juegos tiene los siguientes requisitos mínimos de compatibilidad:

  • Android 4.4 (nivel de API 19) o una versión posterior
  • NDK de Android 21 o una versión posterior

Cómo integrar

La biblioteca de controles para juegos se distribuye en dos formatos: como una biblioteca de Jetpack para juegos que usan un sistema de compilación basado en Gradle (incluido Android Studio) y como archivos discretos para juegos que usan sistemas de compilación personalizados.

Para ver una muestra que integra la biblioteca de controles de juegos, consulta la repositorio de muestras de juegos.

Biblioteca de Jetpack

En la página de Jetpack de Juegos para Android, se incluyen instrucciones de integración a fin de agregar la dependencia de la biblioteca de controles para juegos al archivo build.gradle de tu juego.

La versión de la biblioteca de Jetpack para el controlador de juegos es una biblioteca estática compilada en la biblioteca compartida de tiempo de ejecución C++.

Después de actualizar el archivo build.gradle, deberás agregar la siguiente línea al archivo CMakeLists.txt principal de tu juego:

find_package(games-controller REQUIRED CONFIG)

También deberás agregar la siguiente entrada a la lista de bibliotecas en el comando target_link_libraries de la biblioteca compartida principal de tu juego:

games-controller::paddleboat_static

Archivos discretos

La distribución de archivos .zip de Android Game Development Kit incluye archivos de bibliotecas y encabezados para la biblioteca de controles para juegos. Se deben incluir los siguientes archivos en el proyecto a fin de usar la biblioteca de controles de juegos:

  • El archivo classes.jar, que contiene las partes del código de bytes Dalvik de la biblioteca de controles para juegos (este archivo se encuentra en libs/classes.jar)
  • El archivo de encabezado de la interfaz paddleboat.h (este archivo se encuentra en include/paddleboat/paddleboat.h)
  • El archivo libpaddleboat.so de la biblioteca compartida o el archivo libpaddleboat-static.a de la biblioteca estática (estos archivos se encuentran en los subdirectorios de configuración de compilación, en el directorio libs)

Los subdirectorios de configuración de compilación que se encuentran en el directorio raíz libs se categorizan de la siguiente manera:

  • Arquitectura de ABI
  • Nivel mínimo de API de Android
  • Versión del NDK de Android
  • Versión de la biblioteca de tiempo de ejecución C++
  • Configuración de compilación de la depuración o del lanzamiento

A modo de ejemplo, el subdirectorio arm64-v8a_API16_NDK21_cpp_shared_Release contiene archivos de biblioteca para las siguientes características:

  • ABI de 64 bits de ARM
  • Nivel de API 16 como mínimo
  • Compilado en la versión 21 del NDK
  • Compilado en la versión de la biblioteca compartida del tiempo de ejecución C++
  • Configuración de compilación de lanzamiento

El archivo libpaddleboat_static.a se encuentra directamente en el subdirectorio. El archivo libpaddleboat.so se encuentra en lib/paddleboat/ dentro del subdirectorio.

Próximos pasos

Consulta las siguientes guías a fin de continuar con la integración en tu juego de la biblioteca de controles para juegos: