2008-11-17 1 views
2

Я играю с действительно простой игрой для iPhone на основе примера CrashLanding в центре разработчика. Я немного расширил его, так что вместо использования OpenGL для отображения все время у меня есть простой UIView в качестве экрана заголовка, UITableView для экрана с высокими показателями и немодифицированный EAGLView для экрана игры.Повторное отображение EAGLView в простой игре для iPhone

Итак, все работает хорошо, как это, за исключением того, что при попытке повторного отображения EAGLView экран перестает обновляться. У меня есть игровой цикл, который запускается и останавливается, когда экран отображается и скрывается, и изначально я думал, что это не перезапуск, а через отладку приложения, которое кажется хорошим. Затем я подумал, что, возможно, мне нужно воссоздать поверхность OpenGL, когда она перерисована так, что я сделал, и экран перешел от черного к розовому.

Я использую UINavigationController для обработки перемещений между представлениями. Ошибка происходит после перехода от контроллера корневого представления (экран заголовка) к EAGLView (игровому экрану), а затем возвращается к контроллеру корневого представления и снова переходит на экран игры.

Любая информация/помощь будет принята с благодарностью!

ответ

0

Много месяцев спустя ...

Это оказался вопрос с помощью EAGLView внутри UIViewController. Чтобы исправить это, я вытащил EAGLView и сел за контроллер. Поэтому, чтобы показать это, мне просто нужно скрыть контроллер. Не очень приятно, но это позволяет мне переключаться между ним и другими представлениями без каких-либо проблем.

+0

Макс. Я на самом деле испытываю нечто подобное, получая розовый экран на рендеринг EAGLView. В вашем решении вы упомянули вытаскивание EAGLView и сидение за контроллером. Что именно вы подразумеваете под этим? Любая помощь, которую вы можете предложить, будет отличной. – 2009-08-08 02:50:36