fix Gyroscope

This commit is contained in:
ShirosakiMio 2024-09-14 17:04:36 +08:00
parent 37cb3c4af9
commit 2b039c04f5
2 changed files with 7 additions and 3 deletions

View File

@ -63,7 +63,7 @@ public class Gyroscope implements SensorEventListener {
public void enableSensor() {
timestamp = 0;
sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_FASTEST);
sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME);
}
public void disableSensor() {
@ -73,7 +73,7 @@ public class Gyroscope implements SensorEventListener {
}
}
private float timestamp;
private long timestamp;
@Override
public void onSensorChanged(SensorEvent event) {
@ -83,7 +83,7 @@ public class Gyroscope implements SensorEventListener {
angle[0] += event.values[0] * dT * gameMenu.getMenuSetting().getGyroscopeSensitivity();
angle[1] += event.values[1] * dT * gameMenu.getMenuSetting().getGyroscopeSensitivity();
if (gameMenu.getBridge() != null) {
gameMenu.getBridge().pushEventPointer((int) (gameMenu.getPointerX() - angle[0]), (int) (gameMenu.getPointerY() + angle[1]));
gameMenu.getBridge().pushEventPointer((gameMenu.getPointerX() - angle[0]), (gameMenu.getPointerY() + angle[1]));
}
}
timestamp = event.timestamp;

View File

@ -180,6 +180,10 @@ public class FCLBridge implements Serializable {
CallbackBridge.sendCursorPos(x, y);
}
public void pushEventPointer(float x, float y) {
CallbackBridge.sendCursorPos(x, y);
}
public void pushEventKey(int keyCode, int keyChar, boolean press) {
CallbackBridge.sendKeycode(keyCode, (char) keyChar, 0, 0, press);
}