Table of Contents

Adaptation de la rotation d'écran d'AR Session

Cet article présente comment configurer AR Session lorsqu'un WeChat Mini Program doit s'exécuter en mode paysage.

Avant de commencer

Enum d'orientation d'écran du plugin Mega Mini Program

Note

Pour la définition de l'orientation de l'écran du téléphone, consultez les définitions officielles de systèmes tels que IOS et Android.

Enum d'orientation d'écran du plugin Mega Mini Program DeviceOrientation:

Constant Value Description
Portrait 0 Portrait
LandscapeLeft 90 LandscapeLeft
PortraitUpsideDown 180 PortraitUpsideDown
LandscapeRight 270 LandscapeRight

Modifier l'orientation d'écran dans la configuration globale de WeChat Mini Program

Ajoutez la configuration window dans app.json. Pour la définition précise, consultez Réagir aux changements de zone d'affichage.

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

Renseignez "portrait" (écran portrait) ou "landscape" (écran paysage) selon la situation réelle.

Attention

N'utilisez jamais "auto" dans une application AR Mini Program. Dans certains cas, cela peut provoquer de graves anomalies de l'image AR.

Définir l'orientation d'écran

Appelez setDeviceOrientation(deviceOrientation) et transmettez la direction de rotation de l'écran. L'appel peut être effectué à tout moment et prend effet immédiatement.

Par exemple, pour utiliser le mode paysage lorsque l'écran est tourné de 90 degrés dans le sens antihoraire par rapport à la position portrait naturelle:

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

Le réglage de l'orientation d'écran fourni par le plugin mega sert à compenser l'absence de surveillance de l'orientation d'écran dans WeChat Mini Programs. WeChat ne fournit que deux options, portrait et landscape, dans le réglage pageOrientation, mais ces deux options seules ne suffisent pas pour les applications AR. Par exemple, le mode paysage tourné de 90 degrés dans le sens antihoraire depuis l'orientation naturelle est totalement différent du mode paysage tourné de 270 degrés dans le sens antihoraire depuis l'orientation naturelle.

Par conséquent, lorsque pageOrientation dans app.json est défini sur portrait, vous pouvez omettre l'appel à setDeviceOrientation(deviceOrientation), car la direction portrait naturelle d'un téléphone courant est l'orientation par défaut de session.

Lorsque pageOrientation dans app.json est défini sur landscape, vous devez appeler setDeviceOrientation(deviceOrientation) pour fixer l'orientation d'écran sur LandscapeLeft ou LandscapeRight