-1

不久前,一个名为“送我去天堂”的有趣应用程序到处都是新闻等。它的目标是将你的手机扔到尽可能高的地方并抓住它,该应用程序会测量抛出的高度。我的问题是如何在 android 中编码?我认为加速器传感器以某种方式涉及?一些想法会很棒:) PS:我只是出于好奇,当然也是为了产生缘故-也许,有时,知道如何实现这样的东西可能会很方便。

4

1 回答 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 回答