在Firefox 3.6中模拟加速度计事件功能?

时间:2010-01-22 00:50:40

标签: firefox accelerometer firefox3.6

我只是downloaded Firefox 3.6 today我在新功能列表中注意到an Orientation API可以检测笔记本电脑/电脑倾斜的方向。这显然是某种硬件特征;因此,如果您没有hardware这样做,是否有任何方法可以模拟它,以便您可以在项目中进行测试?

1 个答案:

答案 0 :(得分:3)

您应该能够使用以下代码(从Mozilla Orientation Demo 2借来的代码)模拟MozTransform

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)  + ')';

如果您正在构建基于Orientation 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);

然后,要模拟方向事件,只需使用x,y和z值启动processOrientationLogic()即可。您可以从Firebug执行此操作,或者您也可以在页面上创建某种三滑块控件,以便在每次更改时调用此函数。