Я опубликовал игру, в которой два дня назад в Google Play Store была установлена система датчиков движения. Эта игра - игра в боксер и позволяет пользователям, когда они потрясают оценку смартфона, будет оцениваться автоматически. Для оценки оценки используется TYPE_LINEAR_ACCELERATION датчик.TYPE_LINEAR_ACCELERATION Значения датчиков изменяются в соответствии с брендом смартфона
Но проблема в том, что после публикации игры некоторые пользователи отправляют свой счет. Я видел, что для некоторых смартфонов легко получить 900 очков, когда для некоторых смартфонов трудно получить 500 очков. Я имею в виду, что если один и тот же пользователь встряхивает (с той же силой) разные телефоны в этой игре; для X смартфона он получает (например) 400 точек, для Y смартфона получается (например) 850 баллов.
Почему возникает это неравенство?
Я понял (а), что некоторые смартфоны оценивают счет меньше, когда некоторые смартфоны оценивают больше.
Мой implentation (примерно)
sensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE);
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION), SensorManager.SENSOR_DELAY_FASTEST);
-
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_LINEAR_ACCELERATION) {
float[] values = event.values;
float x = values[0];//to get X - axis acceleration
//.......
//........
}
}
Я могу поделиться ссылкой приложений, но это разрешено? Если да, скажите. Я могу поделиться ссылкой на приложение.
Примечание: Я хочу объяснить свой алгоритм, чтобы получить оценку. Я получаю максимальное ускорение от датчика и сохраняю максимальное значение в переменной. после того, как пользователь нажмет кнопку «Показать счет», я умножу на 40 и получаю счет.
Все эти телефоны используют разные датчики, поэтому, разумеется, они будут иметь различную задержку, шумное поведение, чувствительность и т. Д. В частности, они будут иметь разные максимумы - есть только так много, что вы можете ускорить акселерометр, прежде чем он достигнет своего максимальное значение. Возможно, вы закрыли датчики с меньшим значением. –
Лучший подход для этого вопроса. – user119949
Кто скажет, что у них будут разные максимумы? Есть ли какая-либо граница для датчика ускорения для разных телефонов? – user119949