Я пытаюсь сделать простую игру Pairs для Android.
Структура программы:
Menu.java (изначально загруженная активность меню)
Game.java (игровая активность, запускаемая с помощью меню)
GameThread.java (обрабатывает gameloop, обрабатывает рендеринг вызовов в GameView)
GameView.java (обрабатывает все рисунки на экране)
Graphics.java (хранит загруженные изображения)
Проблема:
В игре представлено 15 различных типов карт, для каждого из которых требуется около 14 кадров для анимации (листание,уничтожение и т. д.).В настоящее время я читаю их из таблицы спрайтов PNG, а затем делаю выборку в массив растровых изображений (Bitmap [15] [14]), используя следующий код:
for (int i=0; i<15; i++) {
for (int j=0; j<14; j++) {
card[i][j] = Bitmap.createBitmap(spriteSheet,
j*cardWidth, i*cardHeight, cardWidth, cardHeight);
}
}
Проблема возникает, когда я первоначально загружаюGameView, графическая карта должна быть загружена, процесс обработки которой занимает около 2 секунд (в результате приложение перестает отвечать на запросы).
Есть ли лучший способ сделать это?
СпасибоЗа вашу помощь заранее.