2

AndroidでSDL2だけを使ってプロジェクトを作ろうとしています。

最初に、アーカイブにある例をコンパイルしようとしました。コードはこちらでtesgesture.c確認できます。

私のAndroidフォンでは問題なく動作しますが、アプリケーションを一時停止するたびに(他のアプリケーションを起動するなど)、再開すると、アプリケーションがフリーズして応答を停止します(SDLスレッドに戻っていないためだと思います)。

これは一般的な問題であることがわかりましたが、明確な解決策は見つかりませんでした。

このパッチを適用して、それらのイベントをスイッチに追加しようとしました:

case SDL_SYSEVENT_TERMINATE:
case SDL_SYSEVENT_SUSPEND:
case SDL_SYSEVENT_RESUME :
case SDL_SYSEVENT_WILL_RESUME :
case SDL_SYSEVENT_WILL_SUSPEND:

しかし、それは何も変わりません。

SDL_WINDOWEVENT_MINIMIZEDまた、イベントのように見えSDL_WINDOWEVENT_FOCUS_LOST、アプリケーションがバックグラウンドに置かれたときに送信されることも確認したので、テストしました:

case SDL_WINDOWEVENT:
    if (event.window.event == SDL_WINDOWEVENT_MINIMIZED ||
            event.window.event == SDL_WINDOWEVENT_FOCUS_LOST) {
        SDL_Quit();
        return 1;
    }
    break;

それ以上の成功はありません。

これらのイベントをキャッチする方法を知っている人はいますか?

4

0 に答える 0