1

我正在构建一个类似于 X 射线扫描仪(Play Store Link)的 android 应用程序,它通过向左、右顶部和底部移动设备来平滑地在屏幕上移动图像。

我为此使用加速度计,但问题是图像移动不顺畅。我的代码如下

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

然后在 Draw canvas.drawBitmap(bmp, x, y, mPaint);

4

1 回答 1

1

这不是你使用它们的方式。您应该获取当前值并添加到当前位置,而不是直接从值设置位置。您倾斜得越多 - 您将获得的值越大,因此图像移动的速度就越快。然后,您还可以对运动应用一些线性插值,使其看起来更平滑。

这是一个在代码中了解更多关于 lerp(线性插值)的链接:http ://en.wikipedia.org/wiki/Linear_interpolation#Programming_language_support

于 2013-07-19T13:37:47.370 回答