diff options
| author | Rémi Verschelde | 2017-11-12 20:33:41 +0100 |
|---|---|---|
| committer | GitHub | 2017-11-12 20:33:41 +0100 |
| commit | b83c14db891cb2563930989c35d287d802a23f9d (patch) | |
| tree | 7ddbf23ff0c892261a7587127df8b52702af3649 /platform/android/java/src/org/godotengine/godot/Godot.java | |
| parent | 31117588fd8558fa14c8625fe018ffcb16e4c27f (diff) | |
| parent | 6205eb40e78c5b54fbb67cce383a1983670bb0b0 (diff) | |
| download | godot-b83c14db891cb2563930989c35d287d802a23f9d.tar.gz godot-b83c14db891cb2563930989c35d287d802a23f9d.tar.zst godot-b83c14db891cb2563930989c35d287d802a23f9d.zip | |
Merge pull request #12826 from BastiaanOlij/align_sensors_android
Align sensors and implement gravity sensor for Android
Diffstat (limited to 'platform/android/java/src/org/godotengine/godot/Godot.java')
| -rw-r--r-- | platform/android/java/src/org/godotengine/godot/Godot.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java index 59fefc498..41dcba5c2 100644 --- a/platform/android/java/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/src/org/godotengine/godot/Godot.java @@ -219,6 +219,7 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC private SensorManager mSensorManager; private Sensor mAccelerometer; + private Sensor mGravity; private Sensor mMagnetometer; private Sensor mGyroscope; @@ -435,6 +436,8 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_GAME); + mGravity = mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY); + mSensorManager.registerListener(this, mGravity, SensorManager.SENSOR_DELAY_GAME); mMagnetometer = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); mSensorManager.registerListener(this, mMagnetometer, SensorManager.SENSOR_DELAY_GAME); mGyroscope = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE); @@ -667,6 +670,7 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC } }); mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_GAME); + mSensorManager.registerListener(this, mGravity, SensorManager.SENSOR_DELAY_GAME); mSensorManager.registerListener(this, mMagnetometer, SensorManager.SENSOR_DELAY_GAME); mSensorManager.registerListener(this, mGyroscope, SensorManager.SENSOR_DELAY_GAME); @@ -734,13 +738,16 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC @Override public void run() { if (typeOfSensor == Sensor.TYPE_ACCELEROMETER) { - GodotLib.accelerometer(x,y,z); + GodotLib.accelerometer(-x,y,-z); + } + if (typeOfSensor == Sensor.TYPE_GRAVITY) { + GodotLib.gravity(-x,y,-z); } if (typeOfSensor == Sensor.TYPE_MAGNETIC_FIELD) { - GodotLib.magnetometer(x,y,z); + GodotLib.magnetometer(-x,y,-z); } if (typeOfSensor == Sensor.TYPE_GYROSCOPE) { - GodotLib.gyroscope(x,y,z); + GodotLib.gyroscope(x,-y,z); } } }); |
