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