Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Помогите с гироскопом


Автор: reider 17.12.2014, 08:45
Доброго времени суток.
Осваиваю датчик гироскопа и столкнулся с не ясной проблемой.

Код

public class MainActivity extends Activity implements OnTouchListener  {
SensorManager sManager;
float Alphpa;
boolean SDD;
......
     class mtThPainter extends Thread implements SensorEventListener
     {
        @Override
        public void onSensorChanged(SensorEvent event) {
             Alphpa = event.values[2];
            if(Alphpa>=0)
            {
                SDD = true;//наклонили вправо
             }
             else
             {
                 SDD = false;//наклонили влево
             }
         }
     }
     mtThPainter MTH;


protected void onCreate(Bundle savedInstanceState) {
     requestWindowFeature(Window.FEATURE_NO_TITLE);//прячем верхнее меню(делать это нужно именно тут)
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sManager = (SensorManager)getSystemService(SENSOR_SERVICE);
        MTH = new mtThPainter();
    }
    
    @Override
    protected void onResume()
    {
        
        super.onResume();
        if(sManager == null)return;
        sManager.registerListener((SensorEventListener) MTH, sManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),sManager.SENSOR_DELAY_FASTEST);
        
    }
.....
}


В зависимости от значения SDD нарисованный объект перемещается либо вправо либо в лево.
С начало всё хорошо и движение объекта правильное, но если долго держать Nexus под углом, а потом попробовать сменить угол то отрисовка идёт как то нге корректно - приходиться очень сильно менять угол(Ю180 градусов) для движения объекта в противоположном направлении.
Подскажите, что я делаю не так с гироскопом?

Автор: Dapo 17.12.2014, 11:28
Alpha выведете в лог и посмотрите что с ней происходит при наклонах. А вообще стоит обратиться к справке по event.values[2]
http://developer.android.com/reference/android/hardware/SensorEvent.html

Автор: reider 17.12.2014, 13:11
Спасибо)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)