Table of Contents

AR Session adaptación de rotación de pantalla

Este artículo introduce cómo configurar AR Session cuando se necesita ejecutar el mini programa de WeChat en orientación horizontal.

Antes de comenzar

Enumeración de orientación de pantalla del plugin Mega para mini programas

Nota

Para la definición de la orientación de la pantalla del teléfono móvil, consulta la definición oficial de sistemas como IOS, Android, etc.

Enumeración de orientación de pantalla del plugin Mega para mini programas DeviceOrientation:

Constante Valor Descripción
Portrait 0 Portrait
LandscapeLeft 90 LandscapeLeft
PortraitUpsideDown 180 PortraitUpsideDown
LandscapeRight 270 LandscapeRight

Modificar la orientación de pantalla en la configuración global del mini programa de WeChat

Agrega la configuración window en app.json. Para definiciones específicas, consulta Cambios en el área de visualización responsive.

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

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

Precaución

Nunca uses "auto" en aplicaciones de mini programas AR, ya que en algunos casos puede causar anomalías graves en la imagen AR.

Configurar la orientación de pantalla

Llama a setDeviceOrientation(deviceOrientation) pasando la dirección de rotación de la pantalla. Se puede llamar en cualquier momento y surtirá efecto inmediatamente.

Por ejemplo, para usar en modo horizontal con la pantalla rotada 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 es para compensar la falta de monitoreo de orientación de pantalla en mini programas de WeChat. WeChat solo ofrece dos opciones en la configuración de pageOrientation: portrait y landscape, lo cual es insuficiente para aplicaciones AR. Por ejemplo, el modo horizontal rotado 90 grados en sentido antihorario desde la orientación natural es completamente diferente al rotado 270 grados.

Por lo tanto, cuando pageOrientation en app.json está configurado como portrait, no es necesario llamar a setDeviceOrientation(deviceOrientation), ya que la orientación vertical natural del teléfono móvil suele ser la orientación predeterminada de la sesión.

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