Wie kann man die X-Achse richtig messen mit Android Code?
Sehr geehrte Damen und Herren
In meinem App, welches ich zurzeit programmiere, möchte ich wie bei Doodle Jump bei Schwenken des Mobiltelefon ein Dreieck verschieben. Ich habe schon diverse Anleitungen gefunden, jedoch habe ich das Problem, dass wenn mein Handy nicht flach liegt, also zum Boden geneigt, dass dann die Werte nicht mehr stimmen. Kann mir jemand weiterhelfen?
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
senGyroscope = sensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
sensorManager.registerListener(this,senGyroscope,SensorManager.SENSOR_DELAY_FASTEST);
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType()== Sensor.TYPE_ROTATION_VECTOR)
{
getGyroscope(event);
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
private void getGyroscope(SensorEvent event)
{
float[] values = event.values;
// Movement
float x = values[0];
float y = values[1];
this.posx_player = (int) ((middle_screen_x-middle_player_x)+(x*1500));
txt2.setText(""+y);
txt3.setText(""+x);
params_player= new RelativeLayout.LayoutParams(150,150);
params_player.setMargins(posx_player, (size_screen_y-400), 0, 0);
img_player.setLayoutParams(params_player);
}