Pre*_*sen 2 android accelerometer android-sensors
我正在尝试编写一个将手机放在桌子上的小型 android 游戏。
屏幕上有一个球,用户通过移动手机来控制它的移动。
在整个游戏过程中,用户不会从桌子上拿起电话。
一开始,球会放在屏幕中间:

从用户推送电话:


应该将球移向智能手机屏幕的顶部:

从球的当前位置,将手机移回用户,并向右移动:


将相应地移动球:
我读了Android的运动传感器指南仔细,但我甚至没有意识到发生了什么Sensor\Sensors我应该使用。
我很想得到任何指示。
首先,TYPE_LINEAR_ACCELERATION、TYPE_ROTATION_VECTOR、TYPE_GRAVITY 不是物理传感器,而是由传感器融合制成。
其次,从 Android 4+ 开始,这些融合传感器使用设备陀螺仪,因此如果移动设备没有陀螺仪,它们将无法工作。
所以如果你想为所有手机制作一个通用的应用程序,最好只使用加速度计(TYPE_ACCELEROMETER)。
现在对于您的情况,因为用户不会从桌子上提起手机,如果您愿意,您可以轻松地从加速度计中减去重力分量。请参阅 Sensor.TYPE_ACCELEROMETER 部分下的http://developer.android.com/reference/android/hardware/SensorEvent.html。(也给出了代码)。
现在您可以看到如何使用陀螺仪和加速度计找到行进的距离?找到线性位移&第一个答案说明他们不使用陀螺仪。(或者你可以通过谷歌从加速度计读数中找到位移/线速度)
希望这一切会给你很多想法。
| 归档时间: |
|
| 查看次数: |
4461 次 |
| 最近记录: |