Android加速度计值返回零,导致问题

时间:2013-08-16 01:23:03

标签: android accelerometer

这是我的代码:

      float x; 
      @Override
      public void onSensorChanged(SensorEvent event) {

    if(event.values[0] > .2){
        x = -1*(Math.round(event.values[0]));           
        centerx = centerx +(x*10);
    }

    else if(event.values[0] < -.2){
        x =  -1*Math.round(event.values[0]);
        centerx = centerx +(x*10);
    }
    mCustomDrawableView.invalidate();



    y = Math.round(event.values[1]);

    if(event.values[2] > .4){
        z = event.values[2];    
    }   

}

我正在使用加速计来回移动垂直线。 centerx是垂直线的顶部和底部。我试图这样做,如果我将设备向右移动,线条会向左移动,看起来它仍处于相同的位置,就像在物理世界中一样(想想增强现实)。 / p>

我正在使用SensorEvent提供的值来做一些算术来移动中心线。唯一的问题是,当我将建议移动到类似5的时候,加速度计值会上升,但是当我停止移动时,然后减少到4到3到2到1到0。所以,线条只是反弹到一边然后返回原来的中心。我正在寻找摆脱这种“弹跳”的方法,让这条线保持在新的位置。有什么想法吗?

0 个答案:

没有答案