2013-07-19 2 views
1

x- 레이 스캐너 (Play Store Link)와 유사한 안드로이드 응용 프로그램을 구축하고 있습니다.이 응용 프로그램은 장치를 왼쪽, 오른쪽 위 및 아래로 움직여 화면에서 부드럽게 움직입니다.안드로이드에서 가속도계로 이미지를 부드럽게 움직입니다.

나는이 가속도계를 사용하고 있지만 문제는 이미지가 부드럽게 움직이지 않는다는 것입니다. 내 코드가

int x1 = (int) sensorEvent.values[0]*(screenW/10); 
int y1 = (int) sensorEvent.values[1]*(screenH/14); 

아래에 다음의에 당신이 그들을 사용하는 방법이 아닌 canvas.drawBitmap(bmp, x, y, mPaint);

+0

센서는 지터의 꽤 추가 할 수 있습니다 : 여기

코드에 LERP (선형 보간)에 대한 자세한 내용을 보려면 링크입니다. 부드러운 움직임을 얻으려면 일반적으로 출력을 부드럽게하기 위해 여러 센서 값에 대해 일종의 푸리에 변환을 수행해야합니다. 때때로이 효과는 자이로와 가속도계를 결합하여 이루어집니다. –

답변

1

립니다. 값에서 직접 위치를 설정하는 대신 현재 값과 ADD를 현재 위치로 가져와야합니다. 더 많이 기울일수록 더 큰 값을 얻을 수 있으므로 이미지가 더 빠르게 움직이는 것처럼 보입니다. 그런 다음 움직임에 선형 보간을 적용하여 부드럽게 나타낼 수 있습니다. http://en.wikipedia.org/wiki/Linear_interpolation#Programming_language_support

관련 문제