不久前,一个名为“送我去天堂”的有趣应用程序到处都是新闻等。它的目标是将你的手机扔到尽可能高的地方并抓住它,该应用程序会测量抛出的高度。我的问题是如何在 android 中编码?我认为加速器传感器以某种方式涉及?一些想法会很棒:) PS:我只是出于好奇,当然也是为了产生缘故-也许,有时,知道如何实现这样的东西可能会很方便。
问问题
91 次
1 回答
1
android中提供了一个接口SensorEventListener。这个监听器提供了我们可以从任何传感器捕获事件的方法。您说的游戏可能使用了这个界面,当传感器是加速度计时得到读数,如下图所示,然后将最大读数显示为分数。
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER)
return;
switch (mDisplay.getRotation()) {
case Surface.ROTATION_0:
mSensorX = event.values[0];
mSensorY = event.values[1];
break;
case Surface.ROTATION_90:
mSensorX = -event.values[1];
mSensorY = event.values[0];
break;
case Surface.ROTATION_180:
mSensorX = -event.values[0];
mSensorY = -event.values[1];
break;
case Surface.ROTATION_270:
mSensorX = event.values[1];
mSensorY = -event.values[0];
break;
}
mSensorZ = event.values[2];
mSensorTimeStamp = event.timestamp;
}
于 2015-12-13T14:43:22.780 回答