Большие экраны и внешние дисплеи

Одно из самых очевидных преимуществ устройств ChromeOS — это их большие, красивые экраны и простота использования внешних мониторов. Большое экранное пространство открывает огромный потенциал для игр, но для эффективного его использования может потребоваться дополнительная проработка и дизайн.

Изменения ориентации и конфигурации

Некоторые мобильные приложения специально разработаны для небольших телефонов и имеют фиксированную портретную ориентацию. Это, казалось бы, обеспечивает быстрые и эффективные результаты за счет уменьшения количества изменений конфигурации игры и сокращения числа необходимых различных раскладок. Однако такой подход может таить в себе и некоторые скрытые сюрпризы: не обрабатывая изменения ориентации, многие приложения окажутся не готовы к другим изменениям конфигурации, таким как изменение размера окна, подключение клавиатуры, внешние дисплеи и т. д. Это может привести к неожиданным сбоям и перезапускам (подробнее см. раздел «Изменения во время выполнения» ). Хотя эти изменения происходят и на мобильных устройствах, на складных устройствах и устройствах ChromeOS они случаются часто и должны обрабатываться корректно.

Кроме того, на устройствах с большими экранами альбомной ориентации или складных устройствах с квадратным соотношением сторон игры с фиксированной портретной ориентацией будут отображаться с большими черными полосами по бокам.

В некоторых играх, ориентированных в первую очередь на мобильные телефоны, может быть предусмотрена блокировка приложения в альбомном режиме. Пользователям планшетов или трансформеров придется держать устройство в альбомной ориентации, что может показаться более неудобным, чем на телефоне, и ухудшить игровой процесс. Для планшетов и трансформеров с большими экранами в портретном режиме может быть достаточно места. Для некоторых людей держать устройство в таком положении может быть удобнее, позволяя им взаимодействовать с игрой в течение более длительного времени.

В зависимости от масштаба и зрелости ваших игр, существуют разные способы решения этой проблемы. В идеале, ваша игра могла бы динамически адаптироваться к разным размерам экрана, предлагая улучшенный, захватывающий опыт для пользователей с большими экранами. Другой подход заключается в поиске креативных способов заполнить пустое черное пространство полезной информацией, такой как статистика, карты или окна чата, или же использовать изображения, относящиеся к игре, в качестве фона вместо черного, что обеспечит более приятное обрамление для основного игрового процесса.

По возможности, разрешите пользователям использовать приложение в обеих ориентациях экрана, если это позволяет размер экрана.

Пример 1

(Слева) Пример головоломки с черными полосами на горизонтальном экране. (Справа) Та же головоломка, но с фоновым изображением вместо черных полос.

Эта игра-головоломка — взрослая игра для Android, разработанная для телефонов с вертикальной ориентацией экрана. На больших горизонтальных экранах она работает с черными полосами по бокам. Поскольку у игры большая и активная база пользователей, а разработчик сосредоточен на своей следующей игре, он решил добавить изображение с мягким фокусом на фон каждого уровня и меню, чтобы обрамить игру, не требуя переработки пользовательского интерфейса. В связи с активной разработкой следующей игры, разработчик включает поддержку горизонтальной ориентации экрана в новую игру.

Пример 2

(Слева) Гоночная игра, оптимизирующая экранное пространство в альбомном режиме. (Справа) Та же гоночная игра, оптимизированная для портретного режима на большом экране.

Гоночная игра для мобильных устройств заблокирована в альбомном режиме, чтобы оптимизировать пространство экрана для телефонов. В последнее время пользователи планшетов и ChromeOS жалуются на неудобство игры и просят добавить поддержку портретного режима. Разработчик включил в свой код проверку размера экрана, и если экран достаточно большой, портретный режим разрешается. Чтобы сохранить широкоугольный обзор, необходимый для игры, контент размещается посередине экрана, а дополнительная панель интерфейса, напоминающая автомобильную стереосистему, появляется внизу экрана, позволяя пользователям легко переключать радиостанции, в то время как карта и статистика гонки перемещаются в верхнюю часть экрана, освобождая обзор через лобовое стекло и улучшая игровой процесс.

См. также рекомендации по использованию больших экранов в Android и документацию по размерам экрана в Android .

Возможность работы в многооконном режиме

Игры часто обеспечивают пользователям полное погружение в происходящее на весь экран. Однако некоторые пользователи настольных компьютеров или складных устройств предпочитают одновременно открывать и отображать в отдельном окне чат, музыку или сервисы потокового видео. Если они записывают или демонстрируют свой экран, также может быть полезно иметь несколько открытых окон.

Многооконный режим является стандартным поведением для приложений и игр Android, что применимо к настольным компьютерам ChromeOS, а также к телефонам и планшетам в режиме разделенного экрана. Если вы хотите предотвратить изменение размера вашей игры, укажите в файле AndroidManifest.xml , что она не масштабируема.

android:resizeableActivity="false"

Если ваша игра поддерживает изменение размера, следует учесть несколько важных моментов:

Узнайте больше об управлении окнами .

Полноэкранный режим

Когда игра запущена в полноэкранном режиме, вы можете перевести её в иммерсивный режим, чтобы убрать рамки окна и другие отвлекающие элементы экрана. Дополнительную информацию см. в документации по полноэкранному режиму Android.

private fun hideSystemUI() {
    // Enables regular immersive mode.
    window.decorView.systemUiVisibility = (
            View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
            or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            or View.SYSTEM_UI_FLAG_FULLSCREEN)
}