-1

少し前に、Send Me To Heaven という面白いアプリがニュースなどで話題になりました。このアプリの目的は、スマートフォンをできるだけ高く投げてキャッチすることです。このアプリは、投げた高さを測定します。私の質問は、それがアンドロイドでどのようにコーディングされるのでしょうか? アクセルセンサーが関係していると思いますか?いくつかのアイデアは素晴らしいでしょう:) 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 に答える