При реализации поддержки геймпада учитывайте следующие важные требования, чтобы обеспечить игрокам плавный и непрерывный игровой процесс.
Сообщите пользователям Google Play, что ваша игра поддерживает контроллеры.
Если вы укажете в манифесте Android, что ваше приложение поддерживает геймпад, в Google Play появится соответствующий значок и тег. Это поможет большему числу пользователей найти вашу игру и начать в нее играть. Подробные инструкции по настройке и примеры манифестов можно найти в статьях Видимость в Google Play и Аппаратные функции геймпада.
Позвольте игрокам легко переключаться между устройствами ввода
Переход между устройствами ввода должен быть плавным. Не заставляйте игроков вручную переключать способ ввода в меню настроек или перезапускать игру.
Автоматическое переключение и поддержка горячего подключения
Поддерживайте одновременную работу всех устройств ввода, чтобы игроки могли переключаться между ними на лету. Отслеживайте изменения устройств ввода во время выполнения, чтобы геймпады работали сразу после подключения без перезапуска приложения и плавно переключались на другие доступные методы ввода, если активный контроллер отключается во время игры. Чтобы узнать, как определять подключение и отключение контроллера, прочитайте статью Как проверить, подключен ли игровой контроллер (Kotlin или Java) или Как зарегистрировать или удалить обратный вызов статуса контроллера (библиотека игровых контроллеров C++). В Android 16 (уровень API 36) и более ранних версиях также объявите android:configChanges="keyboard|keyboardHidden|navigation" в манифесте, чтобы подключение или отключение контроллера не перезапускало действие (см. раздел Обработка изменений конфигурации).
| Не рекомендуется. | Рекомендуется |
|---|---|
|
|
Обновлены значки кнопок и текстовые подсказки, чтобы они соответствовали активному устройству.
Динамически переключайте значки кнопок на экране и текстовые подсказки в зависимости от активного устройства ввода. Например, если игра обнаруживает геймпад, то вместо подсказки "Нажмите, чтобы прыгнуть" должна появляться подсказка "Нажмите B, чтобы прыгнуть" (или эквивалентная кнопка на платформе).
Скрывать виртуальные сенсорные элементы управления, когда геймпад активен
Чтобы не загромождать экран и не путать игрока, скройте все виртуальные элементы сенсорного интерфейса, такие как виртуальные джойстики и экранные кнопки, когда геймпад активен. Если игрок касается экрана, немедленно восстановите сенсорный интерфейс.
Обеспечьте полную поддержку геймпада для всей игровой логики
Не полагайтесь на сенсорный экран как на резервный механизм. Если для выхода из меню или выполнения определенных действий в игре нужно использовать сенсорный экран, это может нарушить погружение. Реализуйте все игровые взаимодействия так, чтобы игроки могли выполнять их полностью с помощью геймпада.
Сопоставьте все элементы HUD и диалоговые окна с кнопками контроллера.
Позвольте игрокам открывать, использовать и закрывать все элементы окна мониторинга (HUD), меню и диалоговые окна на экране с помощью контроллера, используя специальные кнопки быстрого доступа, бамперы или крестовину (D-pad), чтобы им не приходилось касаться экрана.
| Не рекомендуется. | Рекомендуется |
|---|---|
|
|
Разделение контекстов ввода для игрового процесса и интерфейса
Когда поверх игры открывается меню или диалоговое окно, переключайте контекст или блокируйте фоновые элементы управления, чтобы геймпад взаимодействовал только с активным интерфейсом. Это предотвращает случайные действия персонажа или его перемещение на заднем плане при нажатии кнопок или навигации в меню.
| Не рекомендуется. | Рекомендуется |
|---|---|
|
|
Назначайте начальный фокус сразу после открытия экрана
В отличие от сенсорного ввода, когда игроки нажимают кнопки напрямую, навигация с помощью геймпада перемещает фокус с текущего элемента на соседний. Если новое меню или диалоговое окно открывается без начальной цели фокуса, вводы с помощью D-pad и подтверждения могут не реагировать или оставаться заблокированными на фоновых элементах. Назначьте начальный фокус на кнопку по умолчанию, как только откроется экран.
| Не рекомендуется. | Рекомендуется |
|---|---|
|
|