진행률 표시 줄을 채우기 위해 장치의 가속도계를 사용하는 게임을 만들고 있습니다. 내 노트 2에서 바를 채우기 위해 전화를 위아래로 흔들면서 약 20 초가 걸립니다. 그러나 ZTE 블레이드를 시도하고 4 초가 걸렸습니다.여러 장치에서 서로 다른 가속도계 값
내 코드 내에서 가속도계를 보정 할 수있는 방법이 있습니까? 이것은 내가 뭘하는지입니다 : 등록하는 동안
@Override
public void onSensorChanged(SensorEvent event) {
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
if (!mInitialized) {
mLastX = x;
mLastY = y;
mLastZ = z;
mInitialized = true;
} else {
float deltaX = Math.abs(mLastX - x);
float deltaY = Math.abs(mLastY - y);
float deltaZ = Math.abs(mLastZ - z);
if (deltaX < NOISE) deltaX = (float)0.0;
if (deltaY < NOISE) deltaY = (float)0.0;
if (deltaZ < NOISE) deltaZ = (float)0.0;
mLastX = x;
mLastY = y;
mLastZ = z;
if(deltaY == 0){
return;
}
sProgress += deltaY;
pb.setProgress(sProgress);
}
}
나는 그것을 시도했지만 작동하지 않았다. 어쨌든 고마워. –
지금 어떤 행동을 취하고 있습니까? – nayab
이전과 거의 같았습니다. 제 휴대 전화에서는 10 초가 걸리고 다른 전화는 3 초가 걸렸습니다. –