Мобильные платформыФорумОбщее

Как соорудить экран загрузки (сплешскрин) на S60

#0
22:52, 15 фев 2010

Собственно сабж. Надо сделать экран загрузки с некоторой анимацией сразу после старта игры, пока грузятся все игровые данные. Напрямую в лоб сделать не получится, так как перерисовка окна (нашего сплешскрина) выполняется в том же потоке (главном потоке), где и грузятся данные, блокируя этот самый поток. Попытался запустить еще один поток, где организовал все необходимое окружение, установил сессию до window server'а, создал оконную группу и собственно окно загрузки. Все прекрасно, одно другому не мешает: в главном потоке грузятся данные, во втором потоке выполняется код отрисовки окна. Но если во время загрузки свернуть наше приложение, и опять перейти к нему, то нам вываливается основная оконная группа, на которой не рисуется ничего, так как рисоваться и не должно, да и поток, обслуживающий отрисовку окон этой группы, надежно занят загрузкой. Оконная группа с экраном загрузки болтается видимо где-то на заднем фоне.
Итак. Что с этим всем делать, как реализовать нормальный сплешскрин?

#1
16:37, 27 фев 2010

Да наверно как обычно и делать, всё в одном потоке, просто функции, которая загружает игровые данные, передавать коллбэк, который она будет периодически вызывать. В этом коллбэке рисуется сплешскрин и заодно прогрессбар можно показать, если коллбэк будет вызываться с параметрами, сколько уже загружено/сколько осталось.

Мобильные платформыФорумОбщее

Тема в архиве.