Есть приложение под Android, разработанное в FlashDevelop AIR Mobile.
Я написал небольшой движок на Stage3D для рендера 2D спрайтов и анимаций.
В приложении есть обработчики событий на потерю фокуса и получение
В приложении есть анимация загрузки на простом MovieClip
stage.addEventListener(Event.DEACTIVATE, deactivate); stage.addEventListener(Event.ACTIVATE, activate);
Чтобы приложение закрывалось при потере фокуса можно в функции deactivate вставить строчку NativeApplication.nativeApplication.exit();
Хочу, чтобы приложение восстанавливалось после получения фокуса (Например, после звонка во время работы приложения, после блокировки при включенном приложении).
Возникает проблема: при возобновлении фокуса на приложении агрузчик на обычном MovieClip отображается и грузит страницу на Stage3D,
все проходит успешно (все операции в движке на Stage3D), но нет никакой визуализации Stage3D, все пусто, притом можно кликать на невидимые кнопки и все работает, нет только визуализации
Пробовал при деактивации уничтожать все данные и при активации заново инициализировать движок - не помогло
Пробовал ставить своийство Stage3D visible = true на всякий случай - не помогло
Если кто сталкивался с проблемой или есть мысли в чем может быть проблема, помогите, пожалуйста. В Starling думаю как-то решали эту проблему
Для восстановления контекста нужно загрузить все текстуры заново. Не занимайтесь изобретением велосипеда, используйте Starling. Там этот момент реализован из коробки.
На первый взгляд не помогло, но я попробовал на тестовом маленьком проекте, там работает, странно, поищу в чем разница.
Starling я люблю, хорошая вещь. Но для задач попроще в нем много лишнего, можно значительно повысить кпд.
Вот, если интересно, пример от старлинга бенчмарк (я поменял только статичные картинки на анимации, возможно, там что-то можно ускорить) и пример на основе GPUSprite от Adobe
starling
GPUSprite
Вот чудеса, ошибка появляется если ставить ориентацию landscape
На всякий то же скомпилировал в IDE air 20, эффект тот же
geletka
Возможно, это оно
Кстати интересная статья, проблема действительно есть, надо учесть тоже, но на мобильнике, когда исчез контекст не удалось его воскресить, на компе работает и в портретной ориентации
Тема в архиве.