Я хочу сделать «2d игру», используя графику из ресурсов для персонажей. Теперь я спрашиваю себя, что является лучшим решением.Android SurfaceView и анимированная графика
Я много искал в сети, находя два разных варианта.
- A) Создание пользовательского вида, добавив его в макет, показывающий AnimationDrawable или
- B) с помощью SurfaceView непосредственно живописи на нем
Принимая во внимание, а) обычно называют медленным и unperformant для игры Я попытался найти решение для b). Но пока все уроки сделаны только с одним изображением, перемещающимся по поверхности или визуализирующим геометрические фигуры (что не совсем то, что я имел в виду). Найти учебники для «как рисовать AnimationDrawable на SurfaceView» очень редки.
Так что я думал, что могу загрузить все анимационные кадры моего персонажа в массив, каждый из которых вызывает правый объект SurfaceView. Но это звучит для меня много накладных расходов. Должен ли я отказаться от SurfaceView?
У кого-нибудь хорошая идея, какой был бы лучший способ для анимации - скажем, 10 символов + «фон» на моем экране?
Есть готовые к использованию libs/фреймворки для Android с использованием GL и т. Д. Если вы хотите пойти с SurfaceView, реализуйте свои собственные классы Sprite и т. Д., Используя для этого компоненты Android, которые будут холодными. – eduyayo
Ну, я не хотел использовать openGL, потому что это «только» 2D-игра.Больше похоже на типичную игру для прыжка и запуска. Фактически, все, что мне нужно, это что-то вроде способа рисования AnimationDrawable на SurfaceView, но, похоже, оно не поддерживается. –
Использование GL не подразумевает, что будет 3D gfx, а рендеринг GL будет waaaaay быстрее. AnimationDrawable может быть круто для кнопки с sfx, анимация такой вещи, движущейся на экране, будет беспорядочной. – eduyayo