Table of Contents

Adaptación de rotación de pantalla de AR Session

Este artículo presenta cómo configurar AR Session cuando un WeChat Mini Program debe ejecutarse en modo horizontal.

Antes de empezar

Enumeración de orientación de pantalla del plugin Mega Mini Program

Nota

Para la definición de orientación de pantalla del teléfono, consulte las definiciones oficiales de sistemas como IOS y Android.

Enumeración de orientación de pantalla del plugin Mega Mini Program DeviceOrientation:

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

Modificar la orientación de pantalla en la configuración global de WeChat Mini Program

Añada la configuración window en app.json. Para la definición específica, consulte Responder a cambios del área de visualización.

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

Rellene "portrait" (pantalla vertical) o "landscape" (pantalla horizontal) según la situación real.

Precaución

Nunca use "auto" en una aplicación AR Mini Program. En algunos casos, puede causar anomalías graves en la imagen AR.

Configurar la orientación de pantalla

Llame a setDeviceOrientation(deviceOrientation) y pase la dirección de rotación de la pantalla. Puede llamarse en cualquier momento y surte efecto inmediatamente.

Por ejemplo, para usar el modo horizontal en el que la pantalla se gira 90 grados en sentido antihorario respecto a la posición vertical natural:

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

La configuración de orientación de pantalla proporcionada por el plugin mega está destinada a compensar la falta de monitorización de orientación de pantalla en WeChat Mini Programs. WeChat solo proporciona dos opciones, portrait y landscape, en la configuración pageOrientation, pero para aplicaciones AR estas dos opciones por sí solas no son suficientes. Por ejemplo, el modo horizontal girado 90 grados en sentido antihorario desde la orientación natural es completamente diferente del modo horizontal girado 270 grados en sentido antihorario desde la orientación natural.

Por lo tanto, cuando pageOrientation en app.json se establece en portrait, puede omitir la llamada a setDeviceOrientation(deviceOrientation), porque la dirección vertical natural de un teléfono común es la orientación predeterminada de session.

Cuando pageOrientation en app.json se establece en landscape, debe llamar a setDeviceOrientation(deviceOrientation) para fijar la orientación de pantalla en LandscapeLeft o LandscapeRight