Game Controller 库 Android Game Development Kit 的一部分。

Game Controller 库(也称为 Pandlecar)可帮助您实现对游戏控制器的有力支持。该库提供以下内容:

  • 用于检测控制器连接和断开连接情况的回调
  • 控制器设备信息,包括按钮样式和布局
  • 控制器输入数据,针对现代双摇杆控制器的设计进行了标准化处理
  • 支持的控制器上的扩展功能,包括振动、光线、动作轴数据和电池状态
  • 从虚拟和实体鼠标设备读取输入内容的能力
  • 针对特定设备指定自定义控制器映射数据的能力

兼容性要求

Game Controller 库的最低兼容性要求如下所示:

  • Android 4.4(API 级别 19)或更高版本
  • Android NDK 版本 21 或更高版本

集成

Game Controller 库会以两种格式进行分发:Jetpack 库和独立文件,前者适用于使用基于 Gradle 的构建系统(包括 Android Studio)的游戏,后者适用于使用自定义构建系统的游戏。

有关集成 Game Controller 库的示例,请参阅 games-samples 库中找到。

Jetpack 库

Jetpack Android 游戏页面提供了关于将 Game Controller 库依赖项添加到游戏的 build.gradle 文件中的集成说明。

Game Controller 库的 Jetpack 版本是基于 C++ 运行时共享库构建的静态库。

更新 build.gradle 文件后,您需要将以下代码行添加到游戏的主 CMakeLists.txt 文件中:

find_package(games-controller REQUIRED CONFIG)

您还需要将以下条目添加到游戏主共享库的 target_link_libraries 命令中的库列表:

games-controller::paddleboat_static

独立文件

Android Game Development Kit 的 .zip 归档分发包括 Game Controller 库的头文件和库文件。您的项目必须包含以下文件才能使用 Game Controller 库:

  • 包含 Game Controller 库的 Dalvik 字节码部分的 classes.jar 文件。此文件位于 libs/classes.jar
  • paddleboat.h 接口头文件。此文件位于 include/paddleboat/paddleboat.h
  • libpaddleboat.so 共享库文件或 libpaddleboat-static.a 静态库文件。这些文件位于 libs 目录下的 build 配置子目录中。

libs 目录下的 build 配置子目录按照以下项对文件进行归类:

  • ABI 架构
  • 最低 Android API 级别
  • Android NDK 版本
  • C++ 运行时库版本
  • 发布或调试 build 配置

例如,arm64-v8a_API16_NDK21_cpp_shared_Release 子目录包含符合以下条件的库文件:

  • ARM 64 位 ABI
  • 最低 API 级别为 16
  • 针对 NDK 版本 21 构建
  • 针对 C++ 运行时的共享库版本构建
  • 发布 build 配置

libpaddleboat_static.a 文件直接位于子目录中。libpaddleboat.so 文件位于子目录内的 lib/paddleboat/ 下。

后续步骤

请参阅以下指南,了解如何将 Game Controller 库持续集成到您的游戏中: