我正在尝试编写一个小型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。(也给出了代码)。
现在,您将看到如何找到陀螺仪和加速度计的行进距离?找到线性位移和第一个答案表明他们不使用陀螺仪。(或者,您也可以只用Google搜索加速器读数来查找位移/线速度)
希望所有这些都会给您很多想法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句