Получить размер экрана в пикселях в студии Spark AR (для Facebook) - PullRequest
0 голосов
/ 04 января 2019

Я начинаю работать с Spark AR studio , и я ищу, чтобы получить размер экрана в пикселях для сравнения координат, полученных с помощью gesture.location при нажатии.

TouchGestures.onTap().subscribe((gesture) => {
  // ! The location is always specified in the screen coordinates
  Diagnostics.log(`Screen touch in pixel = { x:${gesture.location.x}, y: ${gesture.location.y} }`);

  // ????
});

gesture.location в пикселях (координаты экрана) и хотел бы сравнить его с размером экрана, чтобы определить, к какой стороне экрана касаются.

Может быть, использование Camera.focalPlane может быть хорошей идеей ...

Обновление

Я попробовал две новые вещи, чтобы иметь размер экрана:

const CameraInfo = require('CameraInfo');
Diagnostics.log(CameraInfo.previewSize.height.pinLastValue());

const focalPlane = Scene.root.find('Camera').focalPlane;
Diagnostics.log(focalPlane.height.pinLastValue());

Но оба возвращаются 0

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Наконец,

Использование информации об устройстве в редакторе исправлений и передача их в сценарий работает!

Сначала добавьте переменную "to script" в редакторе:

enter image description here

Затем создайте это в редакторе патчей:

enter image description here

И вы можете получить это с помощью этого сценария:

const Patches = require('Patches');
const screenSize = Patches.getPoint2DValue('screenSize');

Моя ошибка заключалась в том, чтобы использовать Diagnostic.log(), чтобы проверить, хорошо ли работает моя переменная.

Вместо этого используйте Diagnostic.watch():

Diagnostic.watch('screenSize.x', screenSize.x);
Diagnostic.watch('screenSize.y', screenSize.y);
0 голосов
/ 22 января 2019

Размер экрана доступен через вывод патча «Информация об устройстве», после перетаскивания его в редактор патчей из раздела «Сцена». Device Info patch

...