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;
    }