1

比較的単純な OpenGL ES ベースの iPhone ゲームを作成しています。iPhone 4 でテストしているときに、マルチタスクが「機能しない」ことに気付きました。具体的には、アプリがバックグラウンド状態になると、アプリは自動的に終了します (これは、バックグラウンドで OpenGL 呼び出しを行っているか、一部のリソースを解放していないことが原因だと思います)。ゲームは非常に単純なので... 20 ~ 30 の短いレベル (レベルごとに約 1 分)... 疑問に思っています: この場合、マルチタスクは本当に重要ですか?

ゲーム全体は OpenGL ベースで、UI は非常にきびきびとしています。そのため、アプリの終了、リロード、いくつかの画面のステップ実行は大したことではないようです。どう思いますか?この場合、マルチタスクのサポートは本当に重要ですか?

4

2 に答える 2

2

calmhがドキュメントを参照しているので、次の段落があります。

コードからOpenGLES呼び出しを行わないでください。EAGLContextオブジェクトを作成したり、いかなる種類のOpenGLES描画コマンドを発行したりしてはなりません。これらの呼び出しを使用すると、アプリケーションはすぐに終了します。

とにかくその場合になぜ描きたいのかわからない。

「いくつかの画面をステップスルーする」については...アプリを終了するときに現在の状態を保存し、とにかく後でこれを復元してみませんか?

于 2010-07-24T15:23:59.683 に答える
2

ユーザーに好かれたいかどうかは重要です。できることは、ゲームを一時停止し、アプリが取得したときに描画呼び出しを停止することです

- (void) applicationWillResignActive:(UIApplication *)application

一時停止したままにするか、描画を再開します

- (void)applicationDidBecomeActive:(UIApplication *)application

アプリがマルチタスク デバイスで実行されていない場合でも、これを行う必要があります。プッシュ通知またはローカル通知を受け取ると、アプリが非アクティブになり、ゲームを一時停止する必要があるためです。

于 2010-07-24T16:29:34.917 に答える