Giochi Unity per Surface DuoUnity games for Surface Duo

Importante

Questi articolo descrive le funzionalità e il materiale sussidiario disponibili nell'anteprima pubblica, che potrebbero tuttavia subire modifiche sostanziali prima del rilascio della versione disponibile a livello generale.This article describes functionality and guidance that is in public preview and may be substantially modified before it's generally available. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.Microsoft makes no warranties, express or implied, with respect to the information provided here.

Surface Duo Android SDK può essere incorporato nei giochi per dispositivi mobili Unity in modo da adattare la visualizzazione del gioco al doppio schermo e alla cerniera.The Surface Duo Android SDK can be incorporated into Unity mobile games to allow the game view to adapt to the dual-screens and hinge.

Attieniti alla procedura seguente per aggiungere il pacchetto SDK e accedere alla funzionalità usando l'integrazione Android nativa di Unity.Follow the steps below to add the SDK package and access the functionality using Unity's native Android integration.

InstallazioneInstallation

  1. Aggiorna mainTemplate.gradle per scaricare Surface Duo Android SDK:Update mainTemplate.gradle to download the Surface Duo Android SDK:

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

    eand

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61"
        implementation "com.microsoft.device:dualscreen-layout:0.9.0"
    }
    
  2. Copia questo script SurfaceDuoScreenHelper.cs nel progetto di gioco.Copy this script SurfaceDuoScreenHelper.cs into your game project.

  3. Aggiungi i metodi doppio schermo per migliorare il gioco nei dispositivi a doppio schermo.Add the dual screen methods to enhance your game for dual-screen devices.

Anteprima del giocoGame preview

Per semplificare lo sviluppo dei giochi, usa il selettore di risoluzione del gioco così da creare configurazioni personalizzate per gli schermi di Surface Duo:To help with your game development, use the game resolution picker to create custom configurations for Surface Duo screens:

  • 2784 × 1800 - Surface Duo verticale doppio2784×1800 – Surface Duo double portrait
  • 1800 × 2784 - Surface Duo orizzontale doppio1800×2784 – Surface Duo double landscape
  • 1350 × 1800 - Surface Duo verticale singolo1350×1800 – Surface Duo single portrait
  • 1800 × 1350 - Surface Duo orizzontale singolo1800×1350 – Surface Duo single landscape

Puoi aggiungere il frammento di codice seguente nel gioco per simulare l'area della cerniera:You can then add the following code snippet in your game to simulate the hinge area:

#if UNITY_EDITOR
// Hardcode the hinge mask for the Unity game preview
if (Screen.width == DeviceHelper.SURFACEDUO_SPANNEDWIDTH)
{ // double-portrait
    GUI.backgroundColor = Color.gray;
    GUI.Box(new Rect(x: DeviceHelper.SURFACEDUO_SCREENWIDTH, y: 0, width: DeviceHelper.SURFACEDUO_HINGEWIDTH, height: DeviceHelper.SURFACEDUO_SCREENHEIGHT),"");
}
else if (Screen.height == DeviceHelper.SURFACEDUO_SPANNEDHEIGHT)
{ // double-landscape
    GUI.backgroundColor = Color.gray;
    var r = new Rect(x: 0, y: DeviceHelper.SURFACEDUO_SCREENWIDTH, width: DeviceHelper.SURFACEDUO_SCREENHEIGHT, height: DeviceHelper.SURFACEDUO_HINGEWIDTH);
    GUI.Box(r, "");
}
#endif

Nota

Questi valori servono per simulare l'area della cerniera nell'anteprima. Non è necessario impostare questi valori come hardcoded nel codice del gioco, bensì usa le API fornite per eseguire una query sulle dimensioni dello schermo e della cerniera.These values are just to simulate the hinge area in the preview – you should not hardcode these values in your game code, instead use the APIs provided to query for the screen and hinge dimensions.

Questa schermata Unity mostra l'anteprima del gioco con visualizzata la cerniera:This Unity screenshot shows the game preview showing the hinge:

Schermata di anteprima del gioco nell'editor Unity