0

Android ゲームを作成しようとしていますが、画面をオフにするのに問題があります。

現在、私のゲームは、ホームボタンを押すと一時停止し、戻るボタンを押すと停止し、後で再開するように動作します。

電源ボタンを押して画面をオフにすると、ゲームが終了せずに終了し、画面を元に戻すと再起動することに気付きました。それを防ぎ、画面をオフにしたときにのみゲームを一時停止したいのですが、

私の現在のコード:

public void surfaceCreated(SurfaceHolder holder) {
    if (!mGameIsRunning) {
        mGameIsRunning = true;
        loop = new GameLoop(getHolder(), this);
        createSprites();
        loop.setRunning(true);
        loop.start();

    } else {
        resume();
    }

}

public void surfaceDestroyed(SurfaceHolder holder) {
    pause();
}

public void pause() {
    loop.setRunning(false);
    while (true) {
        try {
            loop.join();
        } catch (InterruptedException e) {
        }
        break;
    }
    loop = null;
}

public void resume() {
    loop = new GameLoop(getHolder(), this);
    loop.setRunning(true);
    loop.start();
}
4

1 に答える 1

0

アプリケーションが OpenGL コンテキストを失い、再度開いたときに再起動する必要がある可能性があります。私が覚えているように、「ホーム」ボタンを使用すると、コンテキストはしばらく保存されますが、戻るボタンを使用するか、デバイスをスリープ状態にすると、コンテキストは削除されます。

「ホーム」ボタンを使用して、しばらくの間バックグラウンドのままにしておくことができます。テストはおそらく次のようでした:「ホーム」ボタン -> すぐに元に戻す動作。コンテキストがドロップするまでしばらく時間をかけてください。

繰り返しますが、よくわかりません。Androidプログラミングを行ってからしばらく経ちました。

于 2013-05-02T18:59:21.087 に答える