Ориентация осей акселерометра Nativescript - PullRequest
0 голосов
/ 25 сентября 2019

Я начинаю использовать акселерометр в приложениях для Android, использующих Nativescript + Angular, и у меня возникает следующая проблема.

Я использовал следующий пример .

В которой шаг за шагом объясняется, как создать простую игру-лабиринт.Но когда я использую приложение на разных устройствах, они ведут себя по-разному, и мне приходится вручную изменять значения xAcc и yAcc.

// Start accelerometer events 1 second after the word is created.
setTimeout(function() {
    accService.startAccelerometerUpdates((data) => {
        var xAcc = -data.x * 0.003;
        var yAcc = data.y * 0.003;
        gravity.setAcceleration({ x: xAcc, y: yAcc });
    })
}, 1000);

Я тестировал приложение на разных планшетах, и на каждом из нихмодификация этих значений должна быть сделана.Я нашел три типа конфигурации

Тип 1

    var xAcc = data.x * 0.003;
    var yAcc = -data.y * 0.003;

Тип 2

    var xAcc = -data.x * 0.003;
    var yAcc = -data.y * 0.003;

Тип 3

    var xAcc = data.y * 0.003;
    var yAcc = -data.x * 0.003;

Я пытался использоватьПлагин Accelerometer Advanced, но на планшетах, которые имеют только акселерометр при запуске приложения, возвращается ошибка, так как это подключение прослушивает разные датчики.

Есть ли способ получить ориентацию осей акселерометра?

...