S.M.T.H。 - 身高测量(Android)
S.M.T.H. - height measurement (Android)
不久前,一个名为 Send Me To Heaven 的有趣应用程序遍布新闻等。objective 是将您的 phone 抛得尽可能高并接住它,该应用程序测量投掷高度。
我的问题是如何在 android 中编码?我假设加速器传感器以某种方式参与?
有些想法会很棒 :)
PS:我问这个问题只是出于好奇,当然也是为了促成 - 也许,有时候,知道如何实现这样的东西可能会很方便。
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;
}
不久前,一个名为 Send Me To Heaven 的有趣应用程序遍布新闻等。objective 是将您的 phone 抛得尽可能高并接住它,该应用程序测量投掷高度。 我的问题是如何在 android 中编码?我假设加速器传感器以某种方式参与? 有些想法会很棒 :) PS:我问这个问题只是出于好奇,当然也是为了促成 - 也许,有时候,知道如何实现这样的东西可能会很方便。
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;
}