2D Game Dev и Java. Другие возможности, чем OpenGL? [закрыто]

12

Недавно я начал программировать некоторые базовые вещи OpenGL на Java, но OpenGL и DirectX слишком сложны для понимания и понимания для меня, и мне очень скучно.

Теперь мне интересно, есть ли другие возможности, кроме OpenGL (или DirectX), для создания простой 2D-графики и начала разработки игр, даже если она ограничена. Я, вероятно, буду использовать OpenGL в любом случае, когда у меня больше опыта.

Simiil
источник

Ответы:

13

Существует также библиотека Slick, которая предоставляет наиболее распространенные функции для разработки 2D-игр (изображения, анимация, звуки, геймплей ...). Он имеет преимущество перед библиотекой Java 2D, так как он более специфичен для видеоигр, поскольку включает проверку столкновений и физический движок.

Mr_Qqn
источник
3
Слик оборачивает OpenGl и скрывает «тяжелые вещи»
Дэвид Янг
Slick - отличная библиотека, и я очень рекомендую ее. В отличие от многих игровых движков, которые заставляют вас делать все по-своему, Слик сходит с вашего пути и позволяет вам сосредоточиться на достижении цели.
Алекс Шарер
Я определенно попробую это, это кажется действительно хорошим
Симиил
Я очень рекомендую Слика
Брайана Денни
Slick устарел в течение многих лет , как в 2018 году
WHN
9

Конечно! Java имеет встроенную библиотеку Java 2D, которая не требует знаний OpenGL или DirectX, и я настоятельно рекомендую начать с нее! На самом деле, он довольно неплохо работает.

Важной отправной точкой является определение собственного класса, который расширяет фрейм (или апплет), а затем переопределяет paint(Graphics g)метод и использует его gдля рисования на экране.

Ricket
источник
1
Действительно, нет ничего плохого в Java 2D. Просто приведите g к Graphics2D, иначе вы выбросите все, что делает его хорошим.
Барт ван Хейкелом
Мне нравится этот ответ (+1), потому что он предлагает решение на чистом Java, для которого не требуются сторонние библиотеки с компонентами, отличными от Java (например, такими, как написанные и скомпилированные в ASM / C / C ++).
Рэндольф Ричардсон
Да, что делает его на 100% переносимым (кроссплатформенным), стабильным (поскольку библиотека Java 2D, вероятно, была лучше протестирована, чем многие сторонние библиотеки), хорошо поддерживаемым и простым в разработке и развертывании. Я также рекомендую книгу Дэвида Брэкнина «Разработка игр на Java»; в нем он разрабатывает программный 3D-движок, использующий только Java 2D, и книга, конечно, объясняет его шаг за шагом, включая математические вопросы и решения и оптимизации, сделанные на этом пути. Это очень впечатляет и разбито, так что это легко понять.
Ricket
3

Почему бы вам просто не использовать Swing или Awt для начала (для 2D)? Если вы исправите дизайн своей игры (я имею в виду, хотя дизайн MVC), вы сможете обновить свою игру с улучшенным движком отображения игры позже. Основная цель, если вы работаете в одиночку, - быстро добиться отображения чего-либо на экране, не так ли? Это повышает ваш энтузиазм ...

Пьер Ватле
источник
3

Не совсем предназначен для игр, но обработка довольно популярна для 2D-графики на холсте, это может быть интересно проверить.

CeeJay
источник
2

Попробуйте базовые библиотеки холстов, если вы хотите разрабатывать только 2D-игры. На самом деле я учусь не использовать 2D-холст, создавая игру прямо на момент публикации этого вопроса :) Теперь я заканчиваю WebGL.

Shouvik
источник