0

作为问题标题,我想使用加速器在三个轴 x,y,z 上的变化值来测试设备是静止还是移动。我可以使用钛来获得 3 轴加速器的值:

 Ti.Accelerometer.addEventListenter('update',function(e))
 {
    var x=e.x;
    var y=e.y;
    var z=e.z;
    var timestamp=e.timestamp;
 }

在真实设备中,这些值不断变化。我想计算两次连续更新之间的变化。但我需要一些关于如何进行计算的指示。

4

2 回答 2

0

如果需要,您可以使用 Ti.App.Properties 变量来存储值。代替伪代码的 c++ 样式静态变量,使用属性并在事件侦听器结束时更新它。

http://developer.appcelerator.com/apidoc/mobile/1.8.2/Titanium.App.Properties-module

于 2012-07-17T17:06:28.250 回答
0

如何addEventListener保留 3 个static变量或包含最后一个值的单个static结构并计算abs()它们与当前值的差异?

伪代码(仅处理一个变量 - 扩展为三个):

int f( int x )
{
    static int old_x = -1;

    if( x != old_x )
    { 
         // movement detected and do something
         old_x = x;
    }
    else
    {
         // no movement
    }
}    

}

于 2012-07-14T16:23:14.877 回答