Имитировать функцию акселерометра в Firefox 3.6? - PullRequest
1 голос
/ 22 января 2010

Я только что скачал Firefox 3.6 сегодня , и я заметил в списке новых функций API ориентации , который может определять направление, в котором наклонен ваш ноутбук / компьютер. Это явно какая-то аппаратная особенность; Так что, если у вас нет аппаратного обеспечения для этого, есть ли способ имитировать его, чтобы вы могли протестировать его в своих проектах?

1 Ответ

3 голосов
/ 22 января 2010

Вы сможете смоделировать MozTransform с помощью следующего кода (код заимствован из Mozilla Orientation Demo 2 ):

var x = 0;
var y = 0;

// This will rotate / zoom your document based on the x and y values:

document.body.style.MozTransform = 'rotate(' + (-y * 30) + 'deg) ' + 
                                   'scale(' + (x + 1) + "," + (x + 1)  + ')';

Если вы создаете приложение на основе API ориентации, вы можете реализовать прослушиватель событий следующим образом:

function onChangeOrientation(e)
{
    var x = e.x;
    var y = e.y; 
    var z = e.z;

    // Here you may need to standardize the values of x, y and z
    // For example: (-1 * y) on MacBookPro > 5.1.

    processOrientationLogic(x, y, z);
}

// Add the Event Listener for the Accelerometer
window.addEventListener("MozOrientation", onChangeOrientation, true);

Затем, чтобы смоделировать событие ориентации, просто запустите processOrientationLogic() со своими значениями x, y и z. Вы можете сделать это из Firebug , или вы также можете создать своего рода трехслайдерный элемент управления, который будет вызывать эту функцию при каждом изменении.

...