Accéder à des informations à deux écrans sur surface Duo à partir d’Unity

Le kit de développement logiciel (SDK) à deux écrans Microsoft est disponible sous la forme d’un package qui peut être inclus dans votre projet Unity en personnalisant le système de génération gradle, puis en ajoutant une classe d’assistance C# qui appelle l’API Java native.

Kit de développement logiciel (SDK) à deux écrans Microsoft pour surface Duo

Le code SurfaceDuoScreenHelper. cs fournit les méthodes qui exposent les informations fournies par le kit de développement logiciel (SDK) Microsoft pour surface Duo :

  • DeviceHelper. IsDualScreenDevice : appelez cette méthode avant d’accéder à d’autres API à deux écrans.
  • ScreenHelper. GetCurrentRotation : obtient la valeur de rotation actuelle (par exemple, 0 signifie 0 degré, 1 signifie 90 degrés, 2 signifie 180 degrés, 3 signifie 270 degrés).
  • ScreenHelper. IsDualMode : indique si l’application est fractionnée sur les deux écrans (et que, par conséquent, la fenêtre d’affichage est partiellement masquée par l’intervalle entre les écrans).
  • ScreenHelper. GetScreenRectangles : retourne les dimensions des deux écrans (en pixels).
  • ScreenHelper. GetHinge : retourne les dimensions de la zone masquée de la fenêtre d’affichage (en pixels). Si l’application n’est pas fractionnée (uniquement affichée sur un seul écran), les dimensions zéro ne sont pas retournées, car rien n’est masqué.

Affichez l’exemple de code pour ces méthodes dans l' exemple Unity ScreenHelper. L’exemple affiche des informations sur l’appareil, comme indiqué dans la capture d’écran ci-dessous :

Exemple de jeu Unity présentant des données d’écran

Implémenter le kit de développement logiciel (SDK) à deux écrans Microsoft dans Unity

Un exemple de cette intégration est disponible sur la branche 2019-LTS-Archive du référentiel d’exemples Unity.

  1. Mettez à jour mainTemplate.gradle pour télécharger le kit Android SDK pour Surface Duo :

    maven {
        url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
    }
    

    et

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61"
        implementation "com.microsoft.device:dualscreen-layout:0.9.0"
    }
    
  2. Copiez ce script SurfaceDuoScreenHelper.cs dans votre projet de jeu.

  3. Utilisez les méthodes à deux écrans indiquées sur cette page pour améliorer votre jeu pour les appareils à deux écrans.