@Nickname78

Графика в Android/Java?

Увлёкся программированием под Android, и возникло много вопросов по поводу графики, в частности, двухмерной.
Мне известны как минимум три пути реализации:
canvas(???) - Плохо понимаю что это, зачем это, и как оно работает, на чём это основано.
OpenGL - Тут в принципе более-менее всё понятно, я правда до сих пор не удосужился выяснить как он взаимодействует с железом и работает вообще, но не думаю что эту информацию сложно найти. Из минусов можно сразу отметить высокую сложность даже не сколько самой библиотеки, сколько итоговой программы(игры). Сложность растёт буквально в геометрической прогрессии.
И три - различные фреймворки. Плюс - простота, минус - не понятно за какой братся и действительно ли оно нужно, на чём они базируются и чем отличаются.
Насколько мои суждения верны, что лучше выбрать новичку с заделом на будущее(!)?
А, и ещё, имеет ли смысл братся за NDK с точки зрения 2D игр?
Заранее огромное спасибо тому, кто возьмется отвечать хотя-бы на какие-то вопросы из этой плохосвязанной простыни!
  • Вопрос задан
  • 981 просмотр
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Canvas подходит для простеньких 2Д игр, но сильно на него рассчитывать не стоит. Для начала, чтобы покодить игры не заморачиваясь на графику - пойдёт. Плюс - можно делать нормальный UI, а на канвасе - только игру.

OpenGL - это, как вы понимаете, хардкор для профи. Можно сделать крутые вещи, но вы закопаетесь и продвижение будет медленным.

Фреймворков, действительно, очень много. Тот же libgdx позволяет за пару дней что-нибудь слепить. Минус, я считаю, в том, что вы изучаете конкретный фреймворк, в других областях знания ширятся слабо и вы менее востребованы. Можно писать игры под андроид, при этом ничего про этот самый андроид не зная.

NDK - однозначно нет. Это удел серьёзных компаний, с прицелом на все платформы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@lomikman
с вашим уровнем попробуйте посмотреть в сторону libgdx
https://github.com/libgdx/libgdx
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы