Доступ к сведениям о двухэкранном режиме в Surface Duo из Unity
Примечание
Новые проекты Unity должны использовать Jetpack Window Manager для функций свертываемых устройств. Он работает для Устройств Surface Duo, Surface Duo 2 и других производителей.
Пакет SDK для двухэкранных устройств Майкрософт, описанный ниже, работает только на устройствах Microsoft Surface Duo.
Пакет SDK для двухэкранных приложений Майкрософт доступен в виде пакета, который можно включить в проект Unity. Настройте систему сборки gradle и добавьте вспомогательный класс C#, который вызывает собственный API Java.
Пакет SDK для Двойного экрана Майкрософт для Surface Duo
Код SurfaceDuoScreenHelper.cs предоставляет методы, предоставляющие сведения, предоставляемые Microsoft SDK для Surface Duo:
DeviceHelper.IsDualScreenDevice
. Вызовите этот метод перед доступом к другим API с двумя экранами.ScreenHelper.GetCurrentRotation
. Возвращает текущее значение поворота. Значение 0 означает 0 градусов, 1 означает 90 градусов, 2 означает 180 градусов, а 3 означает 270 градусов.ScreenHelper.IsDualMode
. Распространяется ли приложение на обоих экранах. Окно просмотра частично скрывается разрывом между экранами.ScreenHelper.GetScreenRectangles
. Возвращает размеры двух экранов в пикселях.ScreenHelper.GetHinge
. Возвращает размеры скрытой области окна просмотра в пикселях. Если приложение не охватывается, возвращается нулевое измерение. Так как он отображается только на одном экране, ничего не скрывается.
Просмотрите пример кода для этих методов в примере Unity ScreenHelper. В примере отображаются сведения об устройстве, как показано на снимке экрана ниже:
Реализация пакета SDK для двухэкранных приложений Майкрософт в Unity
Пример этой интеграции доступен в филиале 2019-LTS-archive репозитория примеров Unity.
Обновите mainTemplate.gradle, чтобы скачать пакет SDK для Android Surface Duo:
maven { url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1' }
и
dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61" implementation "com.microsoft.device:dualscreen-layout:0.9.0" }
Скопируйте скрипт SurfaceDuoScreenHelper.cs в проект игры.
Используйте методы с двумя экранами, перечисленные на этой странице, чтобы улучшить игру для устройств с двумя экранами.
Следующие шаги
Ознакомьтесь с примерами игр Unity для Surface Duo.