Table of Contents

ARセッションの画面回転対応

この記事では、WeChatミニプログラムを横画面で実行する必要がある場合のARセッションの設定方法について説明します。

開始する前に

Megaミニプログラムプラグインの画面方向列挙型

注記

スマートフォン画面の方向定義については、IOS、Androidなどの公式定義を参照してください。

Megaミニプログラムプラグインの画面方向列挙型 DeviceOrientation:

定数 説明
Portrait 0 縦向き
LandscapeLeft 90 左横向き
PortraitUpsideDown 180 上下逆縦向き
LandscapeRight 270 右横向き

WeChatミニプログラムのグローバル設定で画面方向を変更

app.jsonwindow設定を追加します。詳細は表示領域の変化への対応を参照してください。

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

実際の状況に応じて"portrait"(縦画面)または"landscape"(横画面)を入力します。

注意

ARミニプログラムアプリケーションでは「auto」を決して使用しないでください。特定の状況でAR表示に深刻な異常が発生する可能性があります。

画面方向の設定

setDeviceOrientation(deviceOrientation)を呼び出して画面回転方向を渡します。いつでも呼び出せ、即時有効になります。

例えば、自然な縦位置から反時計回りに90度回転した横画面モードで使用する場合:

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

megaプラグインが提供する画面方向設定は、WeChatミニプログラムの画面方向監視機能の不足を補うためです。WeChatのpageOrientation設定ではportraitlandscapeの2つのオプションしか提供されておらず、ARアプリケーションにとってこれだけでは不十分です。例えば、自然な向きから反時計回りに90度回転した横画面と、270度回転した横画面は全く異なります。

したがって、app.jsonpageOrientationportraitに設定されている場合、setDeviceOrientation(deviceOrientation)の呼び出しは省略可能です。一般的なスマートフォンの自然な縦方向がセッションのデフォルト方向だからです。

app.jsonpageOrientationlandscapeに設定されている場合、必ずsetDeviceOrientation(deviceOrientation)を呼び出し、画面方向をLandscapeLeftまたはLandscapeRightに固定する必要があります。