Я работаю с моим другом над нашей первой игрой для Android. Основная идея заключается в том, что каждый кадр игры на всей поверхности перерисовывается (1 большое растровое изображение) в 2 этапа:
- Фон со статическим изображением (PNG) стирает предыдущий кадр
- Затем его обсыпают большим количеством частиц, которые создают эффект мыльных пузырей, где есть пул около 20 битовых карт, которые случайным образом выбираются, чтобы создать иллюзию, что все пузырьки (между 200 - 300) все разные. Положение пузырьков обновляется на каждом кадре (~ 50 мс), создавая эффект движущихся пузырьков.
Математический движок написан на C (JNI), и в настоящее время все рисование выполняется с использованием пакета android.graphics, очень похожего (так как это был пример, который я использовал) на Lunar Lander.
Это работает, но анимация несколько прерывистая, и по температуре моего телефона я чувствую, что он очень занят. Получим ли мы пользу от перехода на OpenGL? И в качестве дополнительного вопроса: что было бы хорошим способом оптимизировать механизм рисования (например, Lunar Lander) у нас сейчас?