AndroidGameView
クラスを使用しているときに、一時停止/再開されるアクティビティを適切に処理する最良の方法は何ですか?AndroidGameViewを使用してXamarainでアクティビティレジュームイベントを処理する方法
アクティビティが一時停止するたびに、すべてのOpenGLテクスチャがクリアされ、ビューによってリロードされる必要があります。 GLSurfaceView
(link)クラスには、これらのイベントを適切に処理するための適切な機構があるようです。 (onResume
をオーバーライドすることによって)
これはAndroidGameView
(link)クラスでどのように動作するはずですか? (Androidのゲームビューではこれをサポートしていませんか?)クラスには適切なフック(具体的にはResume
)があるようです。ただし、Resume
と表示されている場合はGraphicsContext
はまだ設定されていません。 MakeCurrent()
を呼び出しResume
中に
は例外をスロー:
System.InvalidOperationException: Operation requires a GraphicsContext, which hasn't been created yet.
私はMakeCurrent()
前CreateFrameBuffer
に電話を入れた場合は、同様のエラーを取得:
Java.Lang.IllegalArgumentException: Make sure the SurfaceView or associated SurfaceHolder has a valid Surface
ときあなたはどんなゲームを再ロード/ロードする必要がありますAndroidGameView
を使用している場合、アクティビティのOnResume
コールバックに対する応答に固有のテクスチャ?
にそれらのオーバーライドメソッドを使用する必要があります!リンクは、 "純粋な" Android(java)で開発する人を支援する記事へのリンクです。 Chrisが頼んだのはMono4Android(Xamarin)でこれを処理する方法です – John