Table of Contents

Adattamento della rotazione dello schermo per AR Session

Questo articolo spiega come configurare una AR Session quando è necessario eseguire un mini programma Weixin in modalità orizzontale.

Prima di iniziare

Enumerazione dell'orientamento dello schermo per il plugin Mega Mini Program

Nota

Fare riferimento alle definizioni ufficiali dei sistemi come IOS, Android per l'orientamento dello schermo del telefono.

Enumerazione dell'orientamento dello schermo per il plugin Mega Mini Program DeviceOrientation:

Costante Valore Descrizione
Portrait 0 Portrait
LandscapeLeft 90 LandscapeLeft
PortraitUpsideDown 180 PortraitUpsideDown
LandscapeRight 270 LandscapeRight

Modificare l'orientamento dello schermo nella configurazione globale del mini programma Weixin

Aggiungere la configurazione window in app.json, per definizioni dettagliate vedere Risposta alle modifiche dell'area di visualizzazione.

"window": {
    "pageOrientation": "landscape"
}

Inserire "portrait" (verticale) o "landscape" (orizzontale) in base alla situazione reale.

Attenzione

Non utilizzare mai "auto" nelle applicazioni AR mini program, in alcuni casi può causare gravi anomalie nella scena AR.

Impostare l'orientamento dello schermo

Chiamare setDeviceOrientation(deviceOrientation) passando la direzione di rotazione dello schermo. Può essere chiamato in qualsiasi momento, effetto immediato.

Ad esempio, per utilizzare in modalità orizzontale con rotazione di 90 gradi in senso antiorario rispetto alla posizione verticale naturale dello schermo:

let deviceOrientation = mega.DeviceOrientation.LandscapeLeft;
session.setDeviceOrientation(deviceOrientation);

L'impostazione dell'orientamento dello schermo fornita dal plugin mega serve a compensare la mancanza di monitoraggio dell'orientamento dello schermo nei mini program Weixin. Weixin fornisce solo le opzioni portrait e landscape nelle impostazioni pageOrientation, ma per le applicazioni AR queste due opzioni non sono sufficienti. Ad esempio, un paesaggio ruotato di 90 gradi in senso antiorario rispetto all'orientamento naturale è completamente diverso da un paesaggio ruotato di 270 gradi in senso antiorario rispetto all'orientamento naturale.

Pertanto, quando pageOrientation in app.json è impostato su portrait, non è necessario chiamare setDeviceOrientation(deviceOrientation), poiché la direzione verticale naturale del telefono è l'orientamento predefinito della sessione.

Quando pageOrientation in app.json è impostato su landscape, è necessario chiamare setDeviceOrientation(deviceOrientation) per fissare l'orientamento dello schermo su LandscapeLeft o LandscapeRight