Каков наилучший способ правильно обрабатывать приостановленные / возобновляемые действия при использовании класса AndroidGameView
?
Всякий раз, когда действие приостанавливается, все текстуры OpenGL очищаются, что требует их перезагрузки представлением. Похоже, что класс GLSurfaceView
( link ) имеет соответствующий механизм для правильной обработки этих событий. (Переопределив onResume
.)
Как это должно работать с классом AndroidGameView
( link )? (Представление игры Android просто не поддерживает это?) Класс, похоже, имеет соответствующие хуки (в частности, Resume
). Однако, когда Resume
вызывается, GraphicsContext
еще не был установлен.
Во время Resume
вызов MakeCurrent()
вызывает исключение:
System.InvalidOperationException: Operation requires a GraphicsContext, which hasn't been created yet.
Если я позвоню CreateFrameBuffer
до MakeCurrent()
, вы получите похожую ошибку:
Java.Lang.IllegalArgumentException: Make sure the SurfaceView or associated SurfaceHolder has a valid Surface
Когда следует загружать / перезагружать какие-либо игровые текстуры в ответ на обратный вызов OnResume
Действия при использовании AndroidGameView
?