Table of Contents

AR Session adaptasi rotasi layar

Artikel ini menjelaskan cara mengonfigurasi AR Session saat perlu menjalankan WeChat Mini Program dalam mode lanskap.

Sebelum memulai

Enumerasi orientasi layar plugin Mini Program Mega

Catatan

Definisi orientasi layar ponsel mengacu pada definisi resmi sistem seperti IOS, Android, dll.

Enumerasi orientasi layar plugin Mini Program Mega DeviceOrientation:

Konstanta Nilai Deskripsi
Portrait 0 Potret
LandscapeLeft 90 LanskapKiri
PortraitUpsideDown 180 PotretTerbalik
LandscapeRight 270 LanskapKanan

Mengubah orientasi layar dalam konfigurasi global WeChat Mini Program

Tambahkan konfigurasi window di app.json, definisi spesifik lihat Perubahan area tampilan responsif.

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

Isi dengan "portrait" (potret) atau "landscape" (lanskap) sesuai kebutuhan.

Hati-Hati

Jangan pernah gunakan "auto" dalam aplikasi AR Mini Program, karena dalam beberapa kasus dapat menyebabkan kelainan serius pada tampilan AR.

Mengatur orientasi layar

Panggil setDeviceOrientation(deviceOrientation) dengan meneruskan arah rotasi layar, dapat dipanggil kapan saja, berlaku segera.

Misalnya, untuk digunakan dalam mode lanskap di mana layar diputar 90 derajat berlawanan arah jarum jam relatif terhadap posisi vertikal alami:

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

Pengaturan orientasi layar yang disediakan oleh plugin mega dimaksudkan untuk mengatasi ketiadaan pemantauan orientasi layar di WeChat Mini Program. WeChat hanya menyediakan dua opsi portrait dan landscape dalam pengaturan pageOrientation, yang tidak cukup untuk aplikasi AR. Misalnya, lanskap yang diputar 90 derajat berlawanan arah jarum jam dari orientasi alami berbeda dengan lanskap yang diputar 270 derajat berlawanan arah jarum jam.

Oleh karena itu, saat pageOrientation di app.json disetel ke portrait, Anda tidak perlu memanggil setDeviceOrientation(deviceOrientation), karena umumnya orientasi vertikal alami ponsel adalah orientasi default sesi.

Saat pageOrientation di app.json disetel ke landscape, Anda harus memanggil setDeviceOrientation(deviceOrientation) untuk mengunci orientasi layar ke LandscapeLeft atau LandscapeRight