我正在构建一个类似于 x 射线扫描仪 (Play Store Link) 的 android 应用程序,它通过左右移动设备在屏幕上平滑地移动图像。
我为此使用加速度计,但问题是图像移动不流畅。 我的代码在下面
int x1 = (int) sensorEvent.values[0]*(screenW/10);
int y1 = (int) sensorEvent.values[1]*(screenH/14);
然后在绘制
canvas.drawBitmap(bmp, x, y, mPaint);
最佳答案
这不是您使用它们的方式。您应该获取当前值并添加到当前位置,而不是直接从值设置位置。倾斜得越多 - 获得的值就越大,因此图像看起来移动得越快。 然后,您还可以对运动应用一些线性插值,使其看起来更平滑。
这里是一个链接,可以在代码中了解有关 lerp(线性插值)的更多信息:http://en.wikipedia.org/wiki/Linear_interpolation#Programming_language_support
关于android - 在android中使用加速度计平滑移动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17746791/